Re: [PATCH v3 06/29] media: iris: introduce iris core state management with shared queues

kernel test robot
2024-08-28T02:39:34Z

Hi Dikshita,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 31aaa7d95e09892c81df0d7c49ae85640fa4e202]

url: https://github.com/intel-lab-lkp/linux/commits/Dikshita-Agarwal-via-B4-Relay/dt-bindings-media-Add-sm8550-dt-schema/20240827-181059
base: 31aaa7d95e09892c81df0d7c49ae85640fa4e202
patch link: https://lore.kernel.org/r/20240827-iris_v3-v3-6-c5fdbbe65e70%40quicinc.com
patch subject: [PATCH v3 06/29] media: iris: introduce iris core state management with shared queues
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20240828/202408281019.97M0qU7D-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 08e5a1de8227512d4774a534b91cb2353cef6284)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240828/202408281019.97M0qU7D-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408281019.97M0qU7D-lkp@intel.com/

All warnings (new ones prefixed by >>):

In file included from drivers/media/platform/qcom/iris/iris_probe.c:8:
In file included from drivers/media/platform/qcom/iris/iris_core.h:10:
In file included from include/media/v4l2-device.h:12:
In file included from include/media/media-device.h:16:
In file included from include/linux/pci.h:38:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:14:
In file included from arch/hexagon/include/asm/io.h:328:
include/asm-generic/io.h:548:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
548 | val = __raw_readb(PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:561:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
561 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
| ^
In file included from drivers/media/platform/qcom/iris/iris_probe.c:8:
In file included from drivers/media/platform/qcom/iris/iris_core.h:10:
In file included from include/media/v4l2-device.h:12:
In file included from include/media/media-device.h:16:
In file included from include/linux/pci.h:38:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:14:
In file included from arch/hexagon/include/asm/io.h:328:
include/asm-generic/io.h:574:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
574 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
| ^
In file included from drivers/media/platform/qcom/iris/iris_probe.c:8:
In file included from drivers/media/platform/qcom/iris/iris_core.h:10:
In file included from include/media/v4l2-device.h:12:
In file included from include/media/media-device.h:16:
In file included from include/linux/pci.h:38:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:14:
In file included from arch/hexagon/include/asm/io.h:328:
include/asm-generic/io.h:585:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
585 | __raw_writeb(value, PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:595:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
595 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:605:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
605 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
In file included from drivers/media/platform/qcom/iris/iris_probe.c:8:
In file included from drivers/media/platform/qcom/iris/iris_core.h:10:
In file included from include/media/v4l2-device.h:12:
In file included from include/media/media-device.h:16:
In file included from include/linux/pci.h:2669:
In file included from include/linux/dma-mapping.h:11:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2228:
include/linux/vmstat.h:514:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
514 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
>> drivers/media/platform/qcom/iris/iris_probe.c:114:35: warning: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
114 | dma_set_seg_boundary(&pdev->dev, DMA_BIT_MASK(64));
| ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:77:40: note: expanded from macro 'DMA_BIT_MASK'
77 | #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
| ^~~~~
8 warnings generated.

vim +114 drivers/media/platform/qcom/iris/iris_probe.c

59
60 static int iris_probe(struct platform_device *pdev)
61 {
62 struct device *dev = &pdev->dev;
63 struct iris_core *core;
64 u64 dma_mask;
65 int ret;
66
67 core = devm_kzalloc(&pdev->dev, sizeof(*core), GFP_KERNEL);
68 if (!core)
69 return -ENOMEM;
70 core->dev = dev;
71
72 core->state = IRIS_CORE_DEINIT;
73 mutex_init(&core->lock);
74
75 core->reg_base = devm_platform_ioremap_resource(pdev, 0);
76 if (IS_ERR(core->reg_base))
77 return PTR_ERR(core->reg_base);
78
79 core->irq = platform_get_irq(pdev, 0);
80 if (core->irq < 0)
81 return core->irq;
82
83 core->iris_platform_data = of_device_get_match_data(core->dev);
84 if (!core->iris_platform_data) {
85 ret = -ENODEV;
86 dev_err_probe(core->dev, ret, "init platform failed\n");
87 return ret;
88 }
89
90 iris_init_ops(core);
91 ret = iris_init_resources(core);
92 if (ret) {
93 dev_err_probe(core->dev, ret, "init resource failed\n");
94 return ret;
95 }
96
97 ret = v4l2_device_register(dev, &core->v4l2_dev);
98 if (ret)
99 return ret;
100
101 ret = iris_register_video_device(core);
102 if (ret)
103 goto err_v4l2_unreg;
104
105 platform_set_drvdata(pdev, core);
106
107 dma_mask = core->iris_platform_data->dma_mask;
108
109 ret = dma_set_mask_and_coherent(dev, dma_mask);
110 if (ret)
111 goto err_vdev_unreg;
112
113 dma_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32));
> 114 dma_set_seg_boundary(&pdev->dev, DMA_BIT_MASK(64));
115
116 return 0;
117
118 err_vdev_unreg:
119 video_unregister_device(core->vdev_dec);
120 err_v4l2_unreg:
121 v4l2_device_unregister(&core->v4l2_dev);
122
123 return ret;
124 }
125

--
0-DAY CI Kernel Test Service