Hi Manasi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[cannot apply to v5.3 next-20190920]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    
https://github.com/0day-ci/linux/commits/Manasi-Navare/drm-i915-display-icl-HW-state-readout-for-transcoder-port-sync-config/20190925-051250
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All error/warnings (new ones prefixed by >>):

   drivers/gpu/drm/i915/display/intel_display.c: In function 
'transcoder_master':
>> drivers/gpu/drm/i915/display/intel_display.c:10400:10: error: 
>> 'INVALID_TRANSCODER' undeclared (first use in this function); did you mean 
>> 'I915_MAX_TRANSCODERS'?
      return INVALID_TRANSCODER;
             ^~~~~~~~~~~~~~~~~~
             I915_MAX_TRANSCODERS
   drivers/gpu/drm/i915/display/intel_display.c:10400:10: note: each undeclared 
identifier is reported only once for each function it appears in
   drivers/gpu/drm/i915/display/intel_display.c: In function 
'icelake_get_trans_port_sync_config':
>> drivers/gpu/drm/i915/display/intel_display.c:10427:15: error: 'struct 
>> intel_crtc_state' has no member named 'master_transcoder'; did you mean 
>> 'cpu_transcoder'?
     pipe_config->master_transcoder = transcoder_master(dev_priv,
                  ^~~~~~~~~~~~~~~~~
                  cpu_transcoder
   drivers/gpu/drm/i915/display/intel_display.c:10429:19: error: 'struct 
intel_crtc_state' has no member named 'master_transcoder'; did you mean 
'cpu_transcoder'?
     if (pipe_config->master_transcoder != INVALID_TRANSCODER) {
                      ^~~~~~~~~~~~~~~~~
                      cpu_transcoder
   drivers/gpu/drm/i915/display/intel_display.c:10429:40: error: 
'INVALID_TRANSCODER' undeclared (first use in this function); did you mean 
'I915_MAX_TRANSCODERS'?
     if (pipe_config->master_transcoder != INVALID_TRANSCODER) {
                                           ^~~~~~~~~~~~~~~~~~
                                           I915_MAX_TRANSCODERS
>> drivers/gpu/drm/i915/display/intel_display.c:10430:14: error: 'struct 
>> intel_crtc_state' has no member named 'sync_mode_slaves_mask'
      pipe_config->sync_mode_slaves_mask = 0;
                 ^~
   drivers/gpu/drm/i915/display/intel_display.c:10451:15: error: 'struct 
intel_crtc_state' has no member named 'sync_mode_slaves_mask'
       pipe_config->sync_mode_slaves_mask |= BIT(cpu_transcoder);
                  ^~
   drivers/gpu/drm/i915/display/intel_display.c: In function 
'transcoder_master':
>> drivers/gpu/drm/i915/display/intel_display.c:10417:1: warning: control 
>> reaches end of non-void function [-Wreturn-type]
    }
    ^

vim +10400 drivers/gpu/drm/i915/display/intel_display.c

 10391  
 10392  static enum transcoder transcoder_master(struct drm_i915_private 
*dev_priv,
 10393                                           enum transcoder cpu_transcoder)
 10394  {
 10395          u32 trans_port_sync, master_select;
 10396  
 10397          trans_port_sync = 
I915_READ(TRANS_DDI_FUNC_CTL2(cpu_transcoder));
 10398  
 10399          if ((trans_port_sync & PORT_SYNC_MODE_ENABLE) == 0)
 10400                  return INVALID_TRANSCODER;
 10401  
 10402          master_select = trans_port_sync &
 10403                          PORT_SYNC_MODE_MASTER_SELECT_MASK;
 10404          switch (master_select) {
 10405          case 1:
 10406                  return TRANSCODER_A;
 10407          case 2:
 10408                  return TRANSCODER_B;
 10409          case 3:
 10410                  return TRANSCODER_C;
 10411          case 4:
 10412                  return TRANSCODER_D;
 10413          default:
 10414                  MISSING_CASE(master_select);
 10415                  return INVALID_TRANSCODER;
 10416          }
 10417  }
 10418  
 10419  static void icelake_get_trans_port_sync_config(struct intel_crtc *crtc,
 10420                                                 struct intel_crtc_state 
*pipe_config)
 10421  {
 10422          struct drm_device *dev = crtc->base.dev;
 10423          struct drm_i915_private *dev_priv = to_i915(dev);
 10424          u32 transcoders;
 10425          enum transcoder cpu_transcoder;
 10426  
 10427          pipe_config->master_transcoder = transcoder_master(dev_priv,
 10428                                                             
pipe_config->cpu_transcoder);
 10429          if (pipe_config->master_transcoder != INVALID_TRANSCODER) {
 10430                  pipe_config->sync_mode_slaves_mask = 0;
 10431                  return;
 10432          }
 10433  
 10434          transcoders = BIT(TRANSCODER_A) |
 10435                  BIT(TRANSCODER_B) |
 10436                  BIT(TRANSCODER_C) |
 10437                  BIT(TRANSCODER_D);
 10438          for_each_cpu_transcoder_masked(dev_priv, cpu_transcoder, 
transcoders) {
 10439                  enum intel_display_power_domain power_domain;
 10440                  intel_wakeref_t trans_wakeref;
 10441  
 10442                  power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
 10443                  trans_wakeref = 
intel_display_power_get_if_enabled(dev_priv,
 10444                                                                     
power_domain);
 10445  
 10446                  if (!trans_wakeref)
 10447                          continue;
 10448  
 10449                  if (transcoder_master(dev_priv, cpu_transcoder) ==
 10450                      pipe_config->cpu_transcoder)
 10451                          pipe_config->sync_mode_slaves_mask |= 
BIT(cpu_transcoder);
 10452  
 10453                  intel_display_power_put(dev_priv, power_domain, 
trans_wakeref);
 10454          }
 10455  }
 10456  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to