mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
74d00a8c38
* properly format/comment all patches * merge debloat patches * merge Kconfig patches * merge swconfig patches * merge hotplug patches * drop 200-fix_localversion.patch - upstream * drop 222-arm_zimage_none.patch - unused * drop 252-mv_cesa_depends.patch - no longer required * drop 410-mtd-move-forward-declaration-of-struct-mtd_info.patch - unused * drop 661-fq_codel_keep_dropped_stats.patch - outdated * drop 702-phy_add_aneg_done_function.patch - upstream * drop 840-rtc7301.patch - unused * drop 841-rtc_pt7c4338.patch - upstream * drop 921-use_preinit_as_init.patch - unused * drop spio-gpio-old and gpio-mmc - unused Signed-off-by: John Crispin <john@phrozen.org>
39 lines
1.5 KiB
Diff
39 lines
1.5 KiB
Diff
From: Paul Burton <paul.burton@imgtec.com>
|
|
Date: Mon, 5 Sep 2016 15:24:54 +0100
|
|
Subject: [PATCH] MIPS: c-r4k: Fix size calc when avoiding IPIs for small
|
|
icache flushes
|
|
|
|
Commit f70ddc07b637 ("MIPS: c-r4k: Avoid small flush_icache_range SMP
|
|
calls") adds checks to force use of hit-type cache ops for small icache
|
|
flushes where they are globalised & index-type cache ops aren't, in
|
|
order to avoid the overhead of IPIs in those cases. However it
|
|
calculated the size of the region being flushed incorrectly, subtracting
|
|
the end address from the start address rather than the reverse. This
|
|
would have led to an overflow with size wrapping round to some large
|
|
value, and likely to the special case for avoiding IPIs not actually
|
|
being hit.
|
|
|
|
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
|
|
Cc: James Hogan <james.hogan@imgtec.com>
|
|
Fixes: f70ddc07b637 ("MIPS: c-r4k: Avoid small flush_icache_range SMP calls")
|
|
Reviewed-by: James Hogan <james.hogan@imgtec.com>
|
|
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
|
Cc: Huacai Chen <chenhc@lemote.com>
|
|
Cc: linux-mips@linux-mips.org
|
|
Cc: linux-kernel@vger.kernel.org
|
|
Patchwork: https://patchwork.linux-mips.org/patch/14211/
|
|
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
|
---
|
|
|
|
--- a/arch/mips/mm/c-r4k.c
|
|
+++ b/arch/mips/mm/c-r4k.c
|
|
@@ -781,7 +781,7 @@ static void r4k_flush_icache_range(unsig
|
|
* If address-based cache ops are globalized, then we may be
|
|
* able to avoid the IPI for small flushes.
|
|
*/
|
|
- size = start - end;
|
|
+ size = end - start;
|
|
cache_size = icache_size;
|
|
if (!cpu_has_ic_fills_f_dc) {
|
|
size *= 2;
|