Hi Robin,
On 2020-09-04 02:44, Robin Murphy wrote:
Since commit 9495b7e92f71 ("driver core: platform: Initialize dma_parms
for platform devices"), struct platform_device already provides a
dma_parms structure, so we can save allocating another one.
Also the DMA segment size is simply a size, not a bitmask.
Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx>
---
drivers/media/platform/qcom/venus/core.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/media/platform/qcom/venus/core.c
b/drivers/media/platform/qcom/venus/core.c
index 203c6538044f..2fa9275d75ff 100644
--- a/drivers/media/platform/qcom/venus/core.c
+++ b/drivers/media/platform/qcom/venus/core.c
@@ -226,13 +226,7 @@ static int venus_probe(struct platform_device
*pdev)
if (ret)
return ret;
- if (!dev->dma_parms) {
- dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms),
- GFP_KERNEL);
- if (!dev->dma_parms)
- return -ENOMEM;
- }
- dma_set_max_seg_size(dev, DMA_BIT_MASK(32));
+ dma_set_max_seg_size(dev, UINT_MAX);
INIT_LIST_HEAD(&core->instances);
mutex_init(&core->lock);
This reintroduced dma api debug warning which the original commit was
addressing or rather thought it addressed.
DMA-API: qcom-venus aa00000.video-codec: mapping sg segment longer than
device claims to support [len=4194304] [max=65536]
WARNING: CPU: 3 PID: 5365 at kernel/dma/debug.c:1225
debug_dma_map_sg+0x1ac/0x2c8
<...>
pstate: 60400009 (nZCv daif +PAN -UAO)
pc : debug_dma_map_sg+0x1ac/0x2c8
lr : debug_dma_map_sg+0x1ac/0x2c8
sp : ffffff8016517850
x29: ffffff8016517860 x28: 0000000000010000
x27: 00000000ffffffff x26: ffffff80da45eb00
x25: ffffffd03c465000 x24: ffffffd03b3c1000
x23: ffffff803e262d80 x22: ffffff80d9a0d010
x21: 0000000000000001 x20: 0000000000000001
x19: 0000000000000001 x18: 00000000ffff0a10
x17: ffffffd03b84a000 x16: 0000000000000037
x15: ffffffd03a950610 x14: 0000000000000001
x13: 0000000000000000 x12: 00000000a3b31442
x11: 0000000000000000 x10: dfffffd000000001
x9 : f544368f90c5ee00 x8 : f544368f90c5ee00
x7 : ffffffd03af5d570 x6 : 0000000000000000
x5 : 0000000000000080 x4 : 0000000000000001
x3 : ffffffd03a9174b0 x2 : 0000000000000001
x1 : 0000000000000008 x0 : 000000000000007a
Call trace:
debug_dma_map_sg+0x1ac/0x2c8
vb2_dma_sg_alloc+0x274/0x2f4 [videobuf2_dma_sg]
__vb2_queue_alloc+0x14c/0x3b0 [videobuf2_common]
vb2_core_reqbufs+0x234/0x374 [videobuf2_common]
vb2_reqbufs+0x4c/0x64 [videobuf2_v4l2]
v4l2_m2m_reqbufs+0x50/0x84 [v4l2_mem2mem]
v4l2_m2m_ioctl_reqbufs+0x2c/0x38 [v4l2_mem2mem]
v4l_reqbufs+0x4c/0x5c
__video_do_ioctl+0x2cc/0x3e0
video_usercopy+0x3b0/0x910
video_ioctl2+0x38/0x48
v4l2_ioctl+0x6c/0x80
do_video_ioctl+0xb54/0x2708
v4l2_compat_ioctl32+0x5c/0xcc
__se_compat_sys_ioctl+0x100/0x2064
__arm64_compat_sys_ioctl+0x20/0x2c
el0_svc_common+0xa8/0x178
el0_svc_compat_handler+0x2c/0x40
el0_svc_compat+0x8/0x10
Thanks,
Sai
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member
of Code Aurora Forum, hosted by The Linux Foundation