Hi Suraj,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on next-20250725]
[cannot apply to linus/master v6.16-rc7]
[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/Suraj-Kandpal/drm-writeback-Add-function-that-takes-preallocated-connector/20250725-133017
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
patch link:    
https://lore.kernel.org/r/20250725050409.2687242-28-suraj.kandpal%40intel.com
patch subject: [PATCH 27/28] drm/i915/writeback: Make exception for writeback 
connector
config: i386-buildonly-randconfig-006-20250725 
(https://download.01.org/0day-ci/archive/20250726/202507262326.1j1vnzbd-...@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 
87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20250726/202507262326.1j1vnzbd-...@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/202507262326.1j1vnzbd-...@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/i915/display/intel_display.c:3785:4: warning: variable 
>> 'trans_pipe' is used uninitialized whenever switch default is taken 
>> [-Wsometimes-uninitialized]
    3785 |                         default:
         |                         ^~~~~~~
   drivers/gpu/drm/i915/display/intel_display.c:3819:7: note: uninitialized use 
occurs here
    3819 |                 if (trans_pipe == crtc->pipe)
         |                     ^~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_display.c:3760:3: note: variable 
'trans_pipe' is declared here
    3760 |                 enum pipe trans_pipe;
         |                 ^
   1 warning generated.


vim +/trans_pipe +3785 drivers/gpu/drm/i915/display/intel_display.c

  3743  
  3744  static u8 hsw_enabled_transcoders(struct intel_crtc *crtc)
  3745  {
  3746          struct intel_display *display = to_intel_display(crtc);
  3747          u8 panel_transcoder_mask = hsw_panel_transcoders(display);
  3748          enum transcoder cpu_transcoder;
  3749          u8 primary_pipe, secondary_pipes;
  3750          u8 enabled_transcoders = 0;
  3751  
  3752          /*
  3753           * XXX: Do intel_display_power_get_if_enabled before reading 
this (for
  3754           * consistency and less surprising code; it's in always on 
power).
  3755           */
  3756          for_each_cpu_transcoder_masked(display, cpu_transcoder,
  3757                                         panel_transcoder_mask) {
  3758                  enum intel_display_power_domain power_domain;
  3759                  intel_wakeref_t wakeref;
  3760                  enum pipe trans_pipe;
  3761                  u32 tmp = 0;
  3762  
  3763                  power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
  3764                  if (cpu_transcoder == TRANSCODER_WD_0 ||
  3765                      cpu_transcoder == TRANSCODER_WD_1) {
  3766                          with_intel_display_power_if_enabled(display, 
power_domain, wakeref)
  3767                                  tmp = intel_de_read(display,
  3768                                                      
WD_TRANS_FUNC_CTL(cpu_transcoder));
  3769                          if (!(tmp & TRANS_WD_FUNC_ENABLE))
  3770                                  continue;
  3771  
  3772                          switch (tmp & WD_INPUT_SELECT_MASK) {
  3773                          case WD_INPUT_PIPE_A:
  3774                                  trans_pipe = PIPE_A;
  3775                                  break;
  3776                          case WD_INPUT_PIPE_B:
  3777                                  trans_pipe = PIPE_B;
  3778                                  break;
  3779                          case WD_INPUT_PIPE_C:
  3780                                  trans_pipe = PIPE_C;
  3781                                  break;
  3782                          case WD_INPUT_PIPE_D:
  3783                                  trans_pipe = PIPE_D;
  3784                                  break;
> 3785                          default:
  3786                                  MISSING_CASE(tmp & 
WD_INPUT_SELECT_MASK);
  3787                                  break;
  3788                          }
  3789                  } else {
  3790                          with_intel_display_power_if_enabled(display, 
power_domain, wakeref)
  3791                                  tmp = intel_de_read(display,
  3792                                                      
TRANS_DDI_FUNC_CTL(display, cpu_transcoder));
  3793  
  3794                          if (!(tmp & TRANS_DDI_FUNC_ENABLE))
  3795                                  continue;
  3796  
  3797                          switch (tmp & TRANS_DDI_EDP_INPUT_MASK) {
  3798                          default:
  3799                                  drm_WARN(display->drm, 1,
  3800                                           "unknown pipe linked to 
transcoder %s\n",
  3801                                           
transcoder_name(cpu_transcoder));
  3802                                  fallthrough;
  3803                          case TRANS_DDI_EDP_INPUT_A_ONOFF:
  3804                          case TRANS_DDI_EDP_INPUT_A_ON:
  3805                                  trans_pipe = PIPE_A;
  3806                                  break;
  3807                          case TRANS_DDI_EDP_INPUT_B_ONOFF:
  3808                                  trans_pipe = PIPE_B;
  3809                                  break;
  3810                          case TRANS_DDI_EDP_INPUT_C_ONOFF:
  3811                                  trans_pipe = PIPE_C;
  3812                                  break;
  3813                          case TRANS_DDI_EDP_INPUT_D_ONOFF:
  3814                                  trans_pipe = PIPE_D;
  3815                                  break;
  3816                          }
  3817                  }
  3818  
  3819                  if (trans_pipe == crtc->pipe)
  3820                          enabled_transcoders |= BIT(cpu_transcoder);
  3821          }
  3822  
  3823          /* single pipe or joiner primary */
  3824          cpu_transcoder = (enum transcoder) crtc->pipe;
  3825          if (transcoder_ddi_func_is_enabled(display, cpu_transcoder))
  3826                  enabled_transcoders |= BIT(cpu_transcoder);
  3827  
  3828          /* joiner secondary -> consider the primary pipe's transcoder 
as well */
  3829          enabled_joiner_pipes(display, crtc->pipe, &primary_pipe, 
&secondary_pipes);
  3830          if (secondary_pipes & BIT(crtc->pipe)) {
  3831                  cpu_transcoder = (enum transcoder)ffs(primary_pipe) - 1;
  3832                  if (transcoder_ddi_func_is_enabled(display, 
cpu_transcoder))
  3833                          enabled_transcoders |= BIT(cpu_transcoder);
  3834          }
  3835  
  3836          return enabled_transcoders;
  3837  }
  3838  

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

Reply via email to