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]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to