sh: sh2a: Improve cache flush/invalidate functions
authorPhil Edworthy <phil.edworthy@renesas.com>
Mon, 9 Jan 2012 16:08:47 +0000 (16:08 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 12 Jan 2012 04:11:02 +0000 (13:11 +0900)
commitc1537b4863da620f12f5b42ece61bf65314148ed
treefb1dddd002d8207cb84c1c8fde1f58335449db18
parente343a895a9f342f239c5e3c5ffc6c0b1707e6244
sh: sh2a: Improve cache flush/invalidate functions

The cache functions lock out interrupts for long periods; this patch
reduces the impact when operating on large address ranges. In such
cases it will:
- Invalidate the entire cache rather than individual addresses.
- Do nothing when flushing the operand cache in write-through mode.
- When flushing the operand cache in write-back mdoe, index the
  search for matching addresses on the cache entires instead of the
  addresses to flush

Note: sh2a__flush_purge_region was only invalidating the operand
cache, this adds flush.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/mm/cache-sh2a.c