linux/arch/m32r/include/asm
Ilya Loginov 2d4dc890b5 block: add helpers to run flush_dcache_page() against a bio and a request's pages
Mtdblock driver doesn't call flush_dcache_page for pages in request.  So,
this causes problems on architectures where the icache doesn't fill from
the dcache or with dcache aliases.  The patch fixes this.

The ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE symbol was introduced to avoid
pointless empty cache-thrashing loops on architectures for which
flush_dcache_page() is a no-op.  Every architecture was provided with this
flush pages on architectires where ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE is
equal 1 or do nothing otherwise.

See "fix mtd_blkdevs problem with caches on some architectures" discussion
on LKML for more information.

Signed-off-by: Ilya Loginov <isloginov@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Peter Horton <phorton@bitbox.co.uk>
Cc: "Ed L. Cashin" <ecashin@coraid.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-11-26 09:16:19 +01:00
..
m32104ut m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
m32700ut m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mappi2 m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mappi3 m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
opsput m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
addrspace.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
assembler.h m32r: use __stringify() macro in assembler.h 2009-05-02 22:38:21 +09:00
atomic.h asm-generic: rename atomic.h to atomic-long.h 2009-06-11 21:02:17 +02:00
auxvec.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
bitops.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bug.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
bugs.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
byteorder.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
cache.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
cachectl.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
cacheflush.h block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
checksum.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
cputime.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
current.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
delay.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
device.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
div64.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
dma.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
elf.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
emergency-restart.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
errno.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
fb.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
fcntl.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
flat.h flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
ftrace.h m32r: move include/asm-m32r/* to arch/m32r/include/asm/ 2009-04-17 10:50:23 +09:00
futex.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
hardirq.h m32r: convert to asm-generic/hardirq.h 2009-09-22 07:17:43 -07:00
hw_irq.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
io.h m32r: define ioread* and iowrite* macros 2009-10-04 12:02:36 +09:00
ioctl.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
ioctls.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
ipcbuf.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
irq_regs.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
irq.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
Kbuild m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
kdebug.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
linkage.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
local.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
m32r_mp_fpga.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
m32r.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
m32102.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mc146818rtc.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mman.h mm: remove duplicate asm/mman.h files 2009-09-22 07:17:42 -07:00
mmu_context.h cpumask: use mm_cpumask() wrapper: m32r 2009-09-24 09:34:50 +09:30
mmu.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mmzone.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
module.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
msgbuf.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mutex.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
page.h m32r: make PAGE_SIZE available to assembly. 2009-09-23 00:29:38 +09:00
param.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
pci.h asm-generic: make pci.h usable directly 2009-06-11 21:02:22 +02:00
percpu.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
pgalloc.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgtable-2level.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
pgtable.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
poll.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
posix_types.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
processor.h m32r: Define THREAD_SIZE only once. 2009-09-23 00:29:38 +09:00
ptrace.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
resource.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
rtc.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
s1d13806.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
scatterlist.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
sections.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
segment.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
sembuf.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
serial.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
setup.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
shmbuf.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
shmparam.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
sigcontext.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
siginfo.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
signal.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
smp.h cpumask: remove arch_send_call_function_ipi 2009-09-24 09:34:47 +09:30
socket.h net: implement a SO_DOMAIN getsockoption 2009-08-05 13:02:57 -07:00
sockios.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
spinlock_types.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
spinlock.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
stat.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
statfs.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
string.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
swab.h m32r: move include/asm-m32r/* to arch/m32r/include/asm/ 2009-04-17 10:50:23 +09:00
syscall.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
system.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
termbits.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
termios.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
thread_info.h m32r: Move GET_THREAD_INFO definition out of asm/thread_info.h. 2009-09-23 00:29:39 +09:00
timex.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
tlb.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
tlbflush.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
topology.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
types.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
uaccess.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
ucontext.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
unaligned.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
unistd.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
user.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
vga.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
xor.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00