CC: [email protected] CC: [email protected] CC: [email protected] TO: Yunfei Dong <[email protected]> CC: Mauro Carvalho Chehab <[email protected]> CC: [email protected] CC: Alexandre Courbot <[email protected]> CC: "Tzung-Bi Shih" <[email protected]> CC: Hans Verkuil <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: b5013d084e03e82ceeab4db8ae8ceeaebe76b0eb commit: 8cdc3794b2e34b3ee11ddfccf4af3f64344a1a75 media: mtk-vcodec: vdec: support stateless API date: 5 weeks ago :::::: branch date: 18 hours ago :::::: commit date: 5 weeks ago config: riscv-randconfig-c006-20211001 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 962e503cc8bc411f7523cc393acae8aae425b1c4) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install riscv cross compiling tool for clang build # apt-get install binutils-riscv64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8cdc3794b2e34b3ee11ddfccf4af3f64344a1a75 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 8cdc3794b2e34b3ee11ddfccf4af3f64344a1a75 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) ^ arch/riscv/include/asm/mmio.h:133:19: note: expanded from macro '__io_br' #define __io_br() do {} while (0) ^ drivers/usb/gadget/udc/lpc32xx_udc.c:1181:15: note: Assuming 'n' is < 'cbytes' for (n = 0; n < cbytes; n += 4) { ^~~~~~~~~~ drivers/usb/gadget/udc/lpc32xx_udc.c:1181:3: note: Loop condition is true. Entering loop body for (n = 0; n < cbytes; n += 4) { ^ drivers/usb/gadget/udc/lpc32xx_udc.c:1182:10: note: Loop condition is false. Exiting loop tmp = readl(USBD_RXDATA(udc->udp_baseaddr)); ^ arch/riscv/include/asm/mmio.h:140:30: note: expanded from macro 'readl' #define readl(c) ({ u32 __v; __io_br(); __v = readl_cpu(c); __io_ar(__v); __v; }) ^ arch/riscv/include/asm/mmio.h:133:19: note: expanded from macro '__io_br' #define __io_br() do {} while (0) ^ drivers/usb/gadget/udc/lpc32xx_udc.c:1181:15: note: 'n' is >= 'cbytes' for (n = 0; n < cbytes; n += 4) { ^ drivers/usb/gadget/udc/lpc32xx_udc.c:1181:3: note: Loop condition is false. Execution continues on line 1188 for (n = 0; n < cbytes; n += 4) { ^ drivers/usb/gadget/udc/lpc32xx_udc.c:1189:7: note: Assuming 'bl' is 0 if (bl) { ^~ drivers/usb/gadget/udc/lpc32xx_udc.c:1189:3: note: Taking false branch if (bl) { ^ drivers/usb/gadget/udc/lpc32xx_udc.c:1194:3: note: Execution continues on line 1189 break; ^ drivers/usb/gadget/udc/lpc32xx_udc.c:1225:3: note: Returning from 'udc_pop_fifo' udc_pop_fifo(udc, (u8 *) data, tmp); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/gadget/udc/lpc32xx_udc.c:1227:2: note: Loop condition is false. Exiting loop writel(((hwep & 0x1E) << 1), USBD_CTRL(udc->udp_baseaddr)); ^ arch/riscv/include/asm/mmio.h:144:58: note: expanded from macro 'writel' #define writel(v, c) ({ __io_bw(); writel_cpu((v), (c)); __io_aw(); }) ^ arch/riscv/include/asm/mmio.h:136:19: note: expanded from macro '__io_aw' #define __io_aw() mmiowb_set_pending() ^ include/asm-generic/mmiowb.h:61:31: note: expanded from macro 'mmiowb_set_pending' #define mmiowb_set_pending() do { } while (0) ^ drivers/usb/gadget/udc/lpc32xx_udc.c:2193:10: note: Returning from 'udc_read_hwep' bytes = udc_read_hwep(udc, EP_OUT, (u32 *) &ctrlpkt, 8); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/gadget/udc/lpc32xx_udc.c:2194:6: note: Assuming 'bytes' is equal to 8 if (bytes != 8) { ^~~~~~~~~~ drivers/usb/gadget/udc/lpc32xx_udc.c:2194:2: note: Taking false branch if (bytes != 8) { ^ drivers/usb/gadget/udc/lpc32xx_udc.c:2206:6: note: Assuming the condition is false if (likely(reqtype & USB_DIR_IN)) ^ include/linux/compiler.h:77:38: note: expanded from macro 'likely' # define likely(x) __builtin_expect(!!(x), 1) ^~~~ drivers/usb/gadget/udc/lpc32xx_udc.c:2206:2: note: Taking true branch if (likely(reqtype & USB_DIR_IN)) ^ drivers/usb/gadget/udc/lpc32xx_udc.c:2212:6: note: Assigned value is garbage or undefined req = le16_to_cpu(ctrlpkt.bRequest); ^ drivers/usb/gadget/udc/lpc32xx_udc.c:2753:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores] tmp = udc_protocol_cmd_r(udc, DAT_RD_ERR_STAT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/gadget/udc/lpc32xx_udc.c:2753:3: note: Value stored to 'tmp' is never read tmp = udc_protocol_cmd_r(udc, DAT_RD_ERR_STAT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. >> drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c:133:18: >> warning: Value stored to 'pfb' during its initialization is never read >> [clang-analyzer-deadcode.DeadStores] struct vdec_fb *pfb = &framebuf->frame_buffer; ^~~ ~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c:133:18: note: Value stored to 'pfb' during its initialization is never read struct vdec_fb *pfb = &framebuf->frame_buffer; ^~~ ~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. drivers/hwmon/ltc2945.c:286:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/hwmon/ltc2945.c:286:2: note: Value stored to 'ret' is never read ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. vim +/pfb +133 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c 8cdc3794b2e34b Yunfei Dong 2021-08-06 127 8cdc3794b2e34b Yunfei Dong 2021-08-06 128 static struct vdec_fb *vdec_get_cap_buffer(struct mtk_vcodec_ctx *ctx, 8cdc3794b2e34b Yunfei Dong 2021-08-06 129 struct vb2_v4l2_buffer *vb2_v4l2) 8cdc3794b2e34b Yunfei Dong 2021-08-06 130 { 8cdc3794b2e34b Yunfei Dong 2021-08-06 131 struct mtk_video_dec_buf *framebuf = 8cdc3794b2e34b Yunfei Dong 2021-08-06 132 container_of(vb2_v4l2, struct mtk_video_dec_buf, m2m_buf.vb); 8cdc3794b2e34b Yunfei Dong 2021-08-06 @133 struct vdec_fb *pfb = &framebuf->frame_buffer; 8cdc3794b2e34b Yunfei Dong 2021-08-06 134 struct vb2_buffer *dst_buf = &vb2_v4l2->vb2_buf; 8cdc3794b2e34b Yunfei Dong 2021-08-06 135 8cdc3794b2e34b Yunfei Dong 2021-08-06 136 pfb = &framebuf->frame_buffer; 8cdc3794b2e34b Yunfei Dong 2021-08-06 137 pfb->base_y.va = NULL; 8cdc3794b2e34b Yunfei Dong 2021-08-06 138 pfb->base_y.dma_addr = vb2_dma_contig_plane_dma_addr(dst_buf, 0); 8cdc3794b2e34b Yunfei Dong 2021-08-06 139 pfb->base_y.size = ctx->q_data[MTK_Q_DATA_DST].sizeimage[0]; 8cdc3794b2e34b Yunfei Dong 2021-08-06 140 8cdc3794b2e34b Yunfei Dong 2021-08-06 141 if (ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 2) { 8cdc3794b2e34b Yunfei Dong 2021-08-06 142 pfb->base_c.va = NULL; 8cdc3794b2e34b Yunfei Dong 2021-08-06 143 pfb->base_c.dma_addr = 8cdc3794b2e34b Yunfei Dong 2021-08-06 144 vb2_dma_contig_plane_dma_addr(dst_buf, 1); 8cdc3794b2e34b Yunfei Dong 2021-08-06 145 pfb->base_c.size = ctx->q_data[MTK_Q_DATA_DST].sizeimage[1]; 8cdc3794b2e34b Yunfei Dong 2021-08-06 146 } 8cdc3794b2e34b Yunfei Dong 2021-08-06 147 mtk_v4l2_debug(1, "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad Size=%zx frame_count = %d", 8cdc3794b2e34b Yunfei Dong 2021-08-06 148 dst_buf->index, pfb, pfb->base_y.va, &pfb->base_y.dma_addr, 8cdc3794b2e34b Yunfei Dong 2021-08-06 149 &pfb->base_c.dma_addr, pfb->base_y.size, ctx->decoded_frame_cnt); 8cdc3794b2e34b Yunfei Dong 2021-08-06 150 8cdc3794b2e34b Yunfei Dong 2021-08-06 151 return pfb; 8cdc3794b2e34b Yunfei Dong 2021-08-06 152 } 8cdc3794b2e34b Yunfei Dong 2021-08-06 153 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
