linux/arch/xtensa/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
..
asmmacro.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
atomic.h asm-generic: rename atomic.h to atomic-long.h 2009-06-11 21:02:17 +02:00
auxvec.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
bitops.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6 2009-01-07 11:56:29 -08:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bootparam.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
bug.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
bugs.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
cacheasm.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08: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 xtensa: Fix checksum header file 2009-05-11 21:48:23 -07:00
coprocessor.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
cpumask.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
cputime.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
current.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
delay.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
device.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
div64.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
dma-mapping.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
dma.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
elf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
emergency-restart.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
errno.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
fb.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
fcntl.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
flat.h xtensa: add flat support 2009-04-02 23:41:29 -07:00
ftrace.h tracing: make CALLER_ADDRx overwriteable 2009-03-02 16:49:37 -05:00
futex.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
gpio.h xtensa: support s6000 gpio irqs and alternate function selection 2009-06-22 02:37:26 -07:00
hardirq.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
highmem.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
hw_irq.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
io.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
ioctl.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
ioctls.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
ipcbuf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
irq_regs.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
irq.h xtensa: allow variant to initialize own irq chips 2009-06-22 02:36:59 -07:00
Kbuild byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
kdebug.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
linkage.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
local.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
mman.h mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions 2009-09-22 07:17:41 -07:00
mmu_context.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
mmu.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
module.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
msgbuf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
mutex.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
nommu_context.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
nommu.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
page.h asm-generic: rename page.h and uaccess.h 2009-06-11 21:02:17 +02:00
param.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
pci-bridge.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
pci.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
percpu.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
pgalloc.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
pgtable.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
platform.h xtensa: remove platform rtc hooks 2009-04-02 23:45:07 -07:00
poll.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
posix_types.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
processor.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
ptrace.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
regs.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
resource.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
rmap.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
rwsem.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
scatterlist.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
sections.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
segment.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
sembuf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
serial.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
setup.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
shmbuf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
shmparam.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
sigcontext.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
siginfo.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
signal.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
smp.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
socket.h net: implement a SO_DOMAIN getsockoption 2009-08-05 13:02:57 -07:00
sockios.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
spinlock.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
stat.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
statfs.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
string.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
swab.h headers_check fix: xtensa, swab.h 2009-02-01 11:01:30 +05:30
syscall.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
system.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
termbits.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
termios.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
thread_info.h sched: INIT_PREEMPT_COUNT 2009-07-10 14:24:05 -07:00
timex.h xtensa: fix wrong extern declaration renamed in code using it 2009-05-11 22:00:11 -07:00
tlb.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
tlbflush.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
topology.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
types.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
uaccess.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
ucontext.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
unaligned.h xtensa: switch to packed struct unaligned access implementation 2008-11-11 06:14:10 -08:00
unistd.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
user.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
vga.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
xor.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00