Re: [PATCH] media: venus: core: Drop local dma_parms

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux