Hi Dmitry, kernel test robot noticed the following build warnings:
[auto build test WARNING on 26ffb3d6f02cd0935fb9fa3db897767beee1cb2a] url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/drm-msm-disp-set-num_planes-to-1-for-interleaved-YUV-formats/20250705-104933 base: 26ffb3d6f02cd0935fb9fa3db897767beee1cb2a patch link: https://lore.kernel.org/r/20250705-dpu-formats-v1-11-40f0bb31b8c8%40oss.qualcomm.com patch subject: [PATCH 11/12] drm/msm/dpu: rewrite _dpu_format_populate_plane_sizes_ubwc() config: powerpc64-randconfig-003-20250705 (https://download.01.org/0day-ci/archive/20250706/202507060149.j2xwjhut-...@intel.com/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 61529d9e36fa86782a2458e6bdeedf7f376ef4b5) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250706/202507060149.j2xwjhut-...@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 <l...@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202507060149.j2xwjhut-...@intel.com/ All warnings (new ones prefixed by >>): >> drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c:79:7: warning: variable >> 'sclines' is used uninitialized whenever 'if' condition is false >> [-Wsometimes-uninitialized] 79 | if (fmt->pixel_format == DRM_FORMAT_NV12 || | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | fmt->pixel_format == DRM_FORMAT_P010) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c:104:4: note: uninitialized use occurs here 104 | sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); | ^~~~~~~ drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c:79:3: note: remove the 'if' if its condition is always true 79 | if (fmt->pixel_format == DRM_FORMAT_NV12 || | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | fmt->pixel_format == DRM_FORMAT_P010) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c:74:31: note: initialize the variable 'sclines' to silence this warning 74 | unsigned int stride, sclines; | ^ | = 0 >> drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c:79:7: warning: variable 'stride' >> is used uninitialized whenever 'if' condition is false >> [-Wsometimes-uninitialized] 79 | if (fmt->pixel_format == DRM_FORMAT_NV12 || | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | fmt->pixel_format == DRM_FORMAT_P010) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c:102:28: note: uninitialized use occurs here 102 | layout->plane_pitch[0] = stride; | ^~~~~~ drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c:79:3: note: remove the 'if' if its condition is always true 79 | if (fmt->pixel_format == DRM_FORMAT_NV12 || | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | fmt->pixel_format == DRM_FORMAT_P010) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c:74:22: note: initialize the variable 'stride' to silence this warning 74 | unsigned int stride, sclines; | ^ | = 0 2 warnings generated. vim +79 drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c 65 66 static int _dpu_format_populate_plane_sizes_ubwc( 67 const struct msm_format *fmt, 68 struct drm_framebuffer *fb, 69 struct dpu_hw_fmt_layout *layout) 70 { 71 bool meta = MSM_FORMAT_IS_UBWC(fmt); 72 73 if (MSM_FORMAT_IS_YUV(fmt)) { 74 unsigned int stride, sclines; 75 unsigned int y_tile_width, y_tile_height; 76 unsigned int y_meta_stride, y_meta_scanlines; 77 unsigned int uv_meta_stride, uv_meta_scanlines; 78 > 79 if (fmt->pixel_format == DRM_FORMAT_NV12 || 80 fmt->pixel_format == DRM_FORMAT_P010) { 81 if (MSM_FORMAT_IS_DX(fmt)) { 82 if (fmt->flags & MSM_FORMAT_FLAG_UNPACK_TIGHT) { 83 stride = MSM_MEDIA_ALIGN(fb->width, 192); 84 stride = MSM_MEDIA_ALIGN(stride * 4 / 3, 256); 85 y_tile_width = 48; 86 } else { 87 stride = MSM_MEDIA_ALIGN(fb->width * 2, 256); 88 y_tile_width = 32; 89 } 90 91 sclines = MSM_MEDIA_ALIGN(fb->height, 16); 92 y_tile_height = 4; 93 } else { 94 stride = MSM_MEDIA_ALIGN(fb->width, 128); 95 y_tile_width = 32; 96 97 sclines = MSM_MEDIA_ALIGN(fb->height, 32); 98 y_tile_height = 8; 99 } 100 } 101 102 layout->plane_pitch[0] = stride; 103 layout->plane_size[0] = MSM_MEDIA_ALIGN(layout->plane_pitch[0] * 104 sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); 105 106 layout->plane_pitch[1] = stride; 107 layout->plane_size[1] = MSM_MEDIA_ALIGN(layout->plane_pitch[1] * 108 sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); 109 110 if (!meta) 111 return 0; 112 113 y_meta_stride = MSM_MEDIA_ROUNDUP(fb->width, y_tile_width); 114 layout->plane_pitch[2] = MSM_MEDIA_ALIGN(y_meta_stride, 64); 115 116 y_meta_scanlines = MSM_MEDIA_ROUNDUP(fb->height, y_tile_height); 117 y_meta_scanlines = MSM_MEDIA_ALIGN(y_meta_scanlines, 16); 118 layout->plane_size[2] = MSM_MEDIA_ALIGN(layout->plane_pitch[2] * 119 y_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); 120 121 uv_meta_stride = MSM_MEDIA_ROUNDUP((fb->width+1)>>1, y_tile_width / 2); 122 layout->plane_pitch[3] = MSM_MEDIA_ALIGN(uv_meta_stride, 64); 123 124 uv_meta_scanlines = MSM_MEDIA_ROUNDUP((fb->height+1)>>1, y_tile_height); 125 uv_meta_scanlines = MSM_MEDIA_ALIGN(uv_meta_scanlines, 16); 126 layout->plane_size[3] = MSM_MEDIA_ALIGN(layout->plane_pitch[3] * 127 uv_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); 128 } else { 129 unsigned int rgb_scanlines, rgb_meta_scanlines, rgb_meta_stride; 130 131 layout->plane_pitch[0] = MSM_MEDIA_ALIGN(fb->width * fmt->bpp, 256); 132 rgb_scanlines = MSM_MEDIA_ALIGN(fb->height, 16); 133 layout->plane_size[0] = MSM_MEDIA_ALIGN(layout->plane_pitch[0] * 134 rgb_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); 135 136 if (!meta) 137 return 0; 138 139 /* uAPI leaves plane[1] empty and plane[2] as meta */ 140 layout->num_planes += 1; 141 142 rgb_meta_stride = MSM_MEDIA_ROUNDUP(fb->width, 16); 143 layout->plane_pitch[2] = MSM_MEDIA_ALIGN(rgb_meta_stride, 64); 144 145 rgb_meta_scanlines = MSM_MEDIA_ROUNDUP(fb->height, 4); 146 rgb_meta_scanlines = MSM_MEDIA_ALIGN(rgb_meta_scanlines, 16); 147 148 layout->plane_size[2] = MSM_MEDIA_ALIGN(layout->plane_pitch[2] * 149 rgb_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); 150 } 151 152 return 0; 153 } 154 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki