android_kernel_google_msm/drivers/dma
Shuah Khan 8f3933a1e5 ioat: Fix DMA memory sync direction correct flag
commit ac4989874a upstream.

ioat does DMA memory sync with DMA_TO_DEVICE direction on a buffer allocated
for DMA_FROM_DEVICE dma, resulting in the following warning from dma debug.
Fixed the dma_sync_single_for_device() call to use the correct direction.

[  226.288947] WARNING: at lib/dma-debug.c:990 check_sync+0x132/0x550()
[  226.288948] Hardware name: ProLiant DL380p Gen8
[  226.288951] ioatdma 0000:00:04.0: DMA-API: device driver syncs DMA memory with different direction [device address=0x00000000ffff7000] [size=4096 bytes] [mapped with DMA_FROM_DEVICE] [synced with DMA_TO_DEVICE]
[  226.288953] Modules linked in: iTCO_wdt(+) sb_edac(+) ioatdma(+) microcode serio_raw pcspkr edac_core hpwdt(+) iTCO_vendor_support hpilo(+) dca acpi_power_meter ata_generic pata_acpi sd_mod crc_t10dif ata_piix libata hpsa tg3 netxen_nic(+) sunrpc dm_mirror dm_region_hash dm_log dm_mod
[  226.288967] Pid: 1055, comm: work_for_cpu Tainted: G        W    3.3.0-0.20.el7.x86_64 #1
[  226.288968] Call Trace:
[  226.288974]  [<ffffffff810644cf>] warn_slowpath_common+0x7f/0xc0
[  226.288977]  [<ffffffff810645c6>] warn_slowpath_fmt+0x46/0x50
[  226.288980]  [<ffffffff81345502>] check_sync+0x132/0x550
[  226.288983]  [<ffffffff81345c9f>] debug_dma_sync_single_for_device+0x3f/0x50
[  226.288988]  [<ffffffff81661002>] ? wait_for_common+0x72/0x180
[  226.288995]  [<ffffffffa019590f>] ioat_xor_val_self_test+0x3e5/0x832 [ioatdma]
[  226.288999]  [<ffffffff811a5739>] ? kfree+0x259/0x270
[  226.289004]  [<ffffffffa0195d77>] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
[  226.289008]  [<ffffffffa01952c3>] ioat_probe+0x2f8/0x348 [ioatdma]
[  226.289011]  [<ffffffffa0195f51>] ioat3_dma_probe+0x1d5/0x2aa [ioatdma]
[  226.289016]  [<ffffffffa0194d12>] ioat_pci_probe+0x139/0x17c [ioatdma]
[  226.289020]  [<ffffffff81354b8c>] local_pci_probe+0x5c/0xd0
[  226.289023]  [<ffffffff81083e50>] ? destroy_work_on_stack+0x20/0x20
[  226.289025]  [<ffffffff81083e68>] do_work_for_cpu+0x18/0x30
[  226.289029]  [<ffffffff8108d997>] kthread+0xb7/0xc0
[  226.289033]  [<ffffffff8166cef4>] kernel_thread_helper+0x4/0x10
[  226.289036]  [<ffffffff81662d20>] ? _raw_spin_unlock_irq+0x30/0x50
[  226.289038]  [<ffffffff81663234>] ? retint_restore_args+0x13/0x13
[  226.289041]  [<ffffffff8108d8e0>] ? kthread_worker_fn+0x1a0/0x1a0
[  226.289044]  [<ffffffff8166cef0>] ? gs_change+0x13/0x13
[  226.289045] ---[ end trace e1618afc7a606089 ]---
[  226.289047] Mapped at:
[  226.289048]  [<ffffffff81345307>] debug_dma_map_page+0x87/0x150
[  226.289050]  [<ffffffffa019653c>] dma_map_page.constprop.18+0x70/0xb34 [ioatdma]
[  226.289054]  [<ffffffffa0195702>] ioat_xor_val_self_test+0x1d8/0x832 [ioatdma]
[  226.289058]  [<ffffffffa0195d77>] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
[  226.289061]  [<ffffffffa01952c3>] ioat_probe+0x2f8/0x348 [ioatdma]

Signed-off-by: Shuah Khan <shuah.khan@hp.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-27 20:47:44 -08:00
..
ioat ioat: Fix DMA memory sync direction correct flag 2013-01-27 20:47:44 -08:00
ipu
ppc4xx
amba-pl08x.c dmaengine/amba-pl08x : reset phychan_hold on terminate all 2012-04-25 15:10:57 +05:30
at_hdmac.c dmaengine: at_hdmac: check that each sg data length is non-null 2012-10-02 10:30:10 -07:00
at_hdmac_regs.h
coh901318.c Merge branch 'akpm' (Andrew's patch-bomb) 2012-04-05 15:30:34 -07:00
coh901318_lli.c
coh901318_lli.h
dmaengine.c drivers/dma/dmaengine.c: lower the priority of 'failed to get' dma channel message 2012-10-13 05:38:38 +09:00
dmaengine.h
dmatest.c
dw_dmac.c
dw_dmac_regs.h
ep93xx_dma.c dmaengine: fix cyclic dma usage 2012-05-15 08:43:40 +05:30
fsldma.c
fsldma.h
imx-dma.c dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc() 2012-10-31 10:03:02 -07:00
imx-sdma.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-03-29 15:34:57 -07:00
intel_mid_dma.c
intel_mid_dma_regs.h
iop-adma.c dmaengine-fixes for 3.4-rc3 2012-04-10 15:30:16 -07:00
iovlock.c
Kconfig dmaengine: Kconfig: fix Atmel at_hdmac entry 2012-04-17 16:29:41 +02:00
Makefile
mpc512x_dma.c
mv_xor.c
mv_xor.h
mxs-dma.c dma: mxs-dma: enable channel in device_issue_pending call 2012-04-20 15:35:58 +05:30
pch_dma.c
pl330.c DMA: PL330: Check the pointer returned by kzalloc 2012-10-02 10:30:10 -07:00
sa11x0-dma.c ARM: sa11x0: fix build errors from DMA engine API updates 2012-03-30 11:46:20 +01:00
shdma.c
shdma.h
sirf-dma.c dmaengine: sirf: fix a typo in moving running dma_desc to active queue 2012-10-31 10:03:02 -07:00
ste_dma40.c dma/ste_dma40: fix erroneous comparison 2012-04-23 18:07:05 +05:30
ste_dma40_ll.c
ste_dma40_ll.h dma40: Improve the logic of stopping logical chan 2012-04-23 17:56:17 +05:30
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h