android_kernel_xiaomi_sm8350/drivers/dma
Radhey Shyam Pandey 2c89a856fa dmaengine: xilinx_dma: Set DMA mask for coherent APIs
[ Upstream commit aac6c0f90799d66b8989be1e056408f33fd99fe6 ]

The xilinx dma driver uses the consistent allocations, so for correct
operation also set the DMA mask for coherent APIs. It fixes the below
kernel crash with dmatest client when DMA IP is configured with 64-bit
address width and linux is booted from high (>4GB) memory.

Call trace:
[  489.531257]  dma_alloc_from_pool+0x8c/0x1c0
[  489.535431]  dma_direct_alloc+0x284/0x330
[  489.539432]  dma_alloc_attrs+0x80/0xf0
[  489.543174]  dma_pool_alloc+0x160/0x2c0
[  489.547003]  xilinx_cdma_prep_memcpy+0xa4/0x180
[  489.551524]  dmatest_func+0x3cc/0x114c
[  489.555266]  kthread+0x124/0x130
[  489.558486]  ret_from_fork+0x10/0x3c
[  489.562051] ---[ end trace 248625b2d596a90a ]---

Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Reviewed-by: Harini Katakam <harini.katakam@xilinx.com>
Link: https://lore.kernel.org/r/1629363528-30347-1-git-send-email-radhey.shyam.pandey@xilinx.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-26 14:07:11 +02:00
..
bestcomm
dw dmaengine: dw: Make it dependent to HAS_IOMEM 2021-04-21 12:56:13 +02:00
dw-axi-dmac
dw-edma dmaengine: dw-edma: Fix crash on loading/unloading driver 2021-05-22 11:38:28 +02:00
hsu dmaengine: hsu: disable spurious interrupt 2021-03-04 10:26:28 +01:00
ioat
ipu
mediatek dmaengine: mediatek: use GFP_NOWAIT instead of GFP_ATOMIC in prep_dma 2021-06-30 08:47:46 -04:00
ppc4xx
qcom dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM 2021-06-23 14:41:23 +02:00
sh dmaengine: usb-dmac: Fix PM reference leak in usb_dmac_probe() 2021-08-26 08:36:13 -04:00
ti
xilinx dmaengine: xilinx_dma: Set DMA mask for coherent APIs 2021-09-26 14:07:11 +02:00
acpi-dma.c dmaengine: acpi: Avoid comparison GSI with Linux vIRQ 2021-09-26 14:07:08 +02:00
altera-msgdma.c
amba-pl08x.c
at_hdmac_regs.h
at_hdmac.c dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate() 2021-01-09 13:44:54 +01:00
at_xdmac.c
bcm2835-dma.c
bcm-sba-raid.c
coh901318_lli.c
coh901318.c
coh901318.h
dma-axi-dmac.c
dma-jz4780.c dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status 2020-11-05 11:43:29 +01:00
dmaengine.c
dmaengine.h
dmatest.c dmaengine: dmatest: Check list for emptiness before access its last entry 2020-10-29 09:57:41 +01:00
ep93xx_dma.c
fsl_raid.c
fsl_raid.h
fsl-edma-common.c
fsl-edma-common.h
fsl-edma.c
fsl-qdma.c dmaengine: fsl-qdma: check dma_set_mask return value 2021-07-20 16:10:40 +02:00
fsldma.c dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function 2021-03-04 10:26:28 +01:00
fsldma.h
idma64.c
idma64.h
img-mdc-dma.c
imx-dma.c dmaengine: imx-dma: configure the generic DMA type to make it work 2021-08-12 13:20:56 +02:00
imx-sdma.c dmaengine: imx-sdma: remove duplicated sdma_load_context 2021-09-22 12:26:21 +02:00
iop-adma.c
iop-adma.h
k3dma.c
Kconfig dmaengine: ioat: depends on !UML 2021-09-26 14:07:11 +02:00
lpc18xx-dmamux.c
Makefile
mcf-edma.c
mic_x100_dma.c
mic_x100_dma.h
mmp_pdma.c
mmp_tdma.c
moxart-dma.c
mpc512x_dma.c
mv_xor_v2.c dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() 2020-12-30 11:51:12 +01:00
mv_xor.c
mv_xor.h
mxs-dma.c
nbpfaxi.c
of-dma.c dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available 2021-08-26 08:36:13 -04:00
owl-dma.c dmaengine: owl-dma: Fix a resource leak in the remove function 2021-03-04 10:26:28 +01:00
pch_dma.c
pl330.c dmaengine: pl330: fix wrong usage of spinlock flags in dma_cyclc 2021-06-23 14:41:29 +02:00
pxa_dma.c
s3c24xx-dma.c
sa11x0-dma.c
sirf-dma.c
sprd-dma.c dmaengine: sprd: Add missing MODULE_DEVICE_TABLE 2021-09-26 14:07:10 +02:00
st_fdma.c
st_fdma.h
ste_dma40_ll.c
ste_dma40_ll.h
ste_dma40.c dmaengine: stedma40: add missing iounmap() on error in d40_probe() 2021-06-23 14:41:23 +02:00
stm32-dma.c
stm32-dmamux.c
stm32-mdma.c
sun4i-dma.c
sun6i-dma.c
tegra20-apb-dma.c
tegra210-adma.c
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
uniphier-mdmac.c
virt-dma.c
virt-dma.h
xgene-dma.c
zx_dma.c