dmaengine: xilinx_dma: Set DMA mask for coherent APIs
authorRadhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Thu, 19 Aug 2021 08:58:48 +0000 (14:28 +0530)
committerVinod Koul <vkoul@kernel.org>
Sun, 29 Aug 2021 13:44:19 +0000 (19:14 +0530)
commitaac6c0f90799d66b8989be1e056408f33fd99fe6
treea09e7c116ff411c86789e9d9a9c6a29b6353b0d4
parent5e70a09c54c4d7ce8c8a573005889a5301cda4c4
dmaengine: xilinx_dma: Set DMA mask for coherent APIs

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>
drivers/dma/xilinx/xilinx_dma.c