Hi Icenowy,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on linus/master v7.3 next-20261030]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Icenowy-Zheng/drm-verisilicon-fix-DC8200-primary-plane-disable-clearing-FB_EN/20261030-213231
base:   https://gitlab.freedesktop.org/drm/misc/kernel.git drm-misc-next
patch link:    
https://lore.kernel.org/r/20261030133233.197189-4-zhengxingda%40iscas.ac.cn
patch subject: [PATCH RESEND 3/3] drm/verisilicon: stop to reuse atomic_disable 
for invisible planes
config: arm64-randconfig-1001-20261031 
(https://download.01.org/0day-ci/archive/20261031/[email protected]/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 
c2ea4440d4b64c148de4fdfca1fc2c437a0701e4)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20261031/[email protected]/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 <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/verisilicon/vs_primary_plane.c:117:28: warning: variable 
>> 'dc' is uninitialized when used here [-Wuninitialized]
     117 |                 vs_primary_plane_disable(dc, output);
         |                                          ^~
   drivers/gpu/drm/verisilicon/vs_primary_plane.c:111:18: note: initialize the 
variable 'dc' to silence this warning
     111 |         struct vs_dc *dc;
         |                         ^
         |                          = NULL
>> drivers/gpu/drm/verisilicon/vs_primary_plane.c:117:32: warning: variable 
>> 'output' is uninitialized when used here [-Wuninitialized]
     117 |                 vs_primary_plane_disable(dc, output);
         |                                              ^~~~~~
   drivers/gpu/drm/verisilicon/vs_primary_plane.c:113:21: note: initialize the 
variable 'output' to silence this warning
     113 |         unsigned int output;
         |                            ^
         |                             = 0
   2 warnings generated.
--
>> drivers/gpu/drm/verisilicon/vs_cursor_plane.c:154:27: warning: variable 'dc' 
>> is uninitialized when used here [-Wuninitialized]
     154 |                 vs_cursor_plane_disable(dc, output);
         |                                         ^~
   drivers/gpu/drm/verisilicon/vs_cursor_plane.c:148:18: note: initialize the 
variable 'dc' to silence this warning
     148 |         struct vs_dc *dc;
         |                         ^
         |                          = NULL
>> drivers/gpu/drm/verisilicon/vs_cursor_plane.c:154:31: warning: variable 
>> 'output' is uninitialized when used here [-Wuninitialized]
     154 |                 vs_cursor_plane_disable(dc, output);
         |                                             ^~~~~~
   drivers/gpu/drm/verisilicon/vs_cursor_plane.c:150:21: note: initialize the 
variable 'output' to silence this warning
     150 |         unsigned int output;
         |                            ^
         |                             = 0
   2 warnings generated.


vim +/dc +117 drivers/gpu/drm/verisilicon/vs_primary_plane.c

   102  
   103  static void vs_primary_plane_atomic_update(struct drm_plane *plane,
   104                                             struct drm_atomic_commit 
*atomic_state)
   105  {
   106          struct drm_plane_state *state = 
drm_atomic_get_new_plane_state(atomic_state,
   107                                                                         
plane);
   108          struct vs_plane_state *vs_state = to_vs_plane_state(state);
   109          struct drm_framebuffer *fb = state->fb;
   110          struct drm_crtc *crtc = state->crtc;
   111          struct vs_dc *dc;
   112          struct vs_crtc *vcrtc;
   113          unsigned int output;
   114          dma_addr_t dma_addr;
   115  
   116          if (!state->visible) {
 > 117                  vs_primary_plane_disable(dc, output);
   118                  return;
   119          }
   120  
   121          vcrtc = drm_crtc_to_vs_crtc(crtc);
   122          output = vcrtc->id;
   123          dc = vcrtc->dc;
   124  
   125          regmap_update_bits(dc->regs, VSDC_FB_CONFIG(output),
   126                             VSDC_FB_CONFIG_FMT_MASK,
   127                             VSDC_FB_CONFIG_FMT(vs_state->format.color));
   128          regmap_update_bits(dc->regs, VSDC_FB_CONFIG(output),
   129                             VSDC_FB_CONFIG_SWIZZLE_MASK,
   130                             
VSDC_FB_CONFIG_SWIZZLE(vs_state->format.swizzle));
   131          regmap_assign_bits(dc->regs, VSDC_FB_CONFIG(output),
   132                             VSDC_FB_CONFIG_UV_SWIZZLE_EN,
   133                             vs_state->format.uv_swizzle);
   134  
   135          /*
   136           * Primary plane cannot be moved, no clipping is involved,
   137           * so the non-clipped framebuffer address can be used.
   138           */
   139          dma_addr = drm_fb_dma_get_gem_addr(fb, state, 0);
   140  
   141          regmap_write(dc->regs, VSDC_FB_ADDRESS(output),
   142                       lower_32_bits(dma_addr));
   143          regmap_write(dc->regs, VSDC_FB_STRIDE(output),
   144                       fb->pitches[0]);
   145  
   146          regmap_write(dc->regs, VSDC_FB_TOP_LEFT(output),
   147                       VSDC_MAKE_PLANE_POS(state->crtc_x, state->crtc_y));
   148          regmap_write(dc->regs, VSDC_FB_BOTTOM_RIGHT(output),
   149                       VSDC_MAKE_PLANE_POS(state->crtc_x + state->crtc_w,
   150                                           state->crtc_y + 
state->crtc_h));
   151          regmap_write(dc->regs, VSDC_FB_SIZE(output),
   152                       VSDC_MAKE_PLANE_SIZE(state->crtc_w, 
state->crtc_h));
   153  
   154          regmap_write(dc->regs, VSDC_FB_BLEND_CONFIG(output),
   155                       VSDC_FB_BLEND_CONFIG_BLEND_DISABLE);
   156  
   157          vs_primary_plane_commit(dc, output);
   158  }
   159  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to