[PATCH v2] drm/i915/cx0_phy: Update HDMI TMDS C20 algorithm value

kernel test robot lkp at intel.com
Mon Dec 9 22:46:12 UTC 2024


Hi Dnyaneshwar,

kernel test robot noticed the following build warnings:

[auto build test WARNING on next-20241209]
[also build test WARNING on linus/master v6.13-rc2]
[cannot apply to drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-tip/drm-tip v6.13-rc2 v6.13-rc1 v6.12]
[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/Dnyaneshwar-Bhadane/drm-i915-cx0_phy-Update-HDMI-TMDS-C20-algorithm-value/20241209-233928
base:   next-20241209
patch link:    https://lore.kernel.org/r/20241209153418.49580-1-dnyaneshwar.bhadane%40intel.com
patch subject: [PATCH v2] drm/i915/cx0_phy: Update HDMI TMDS C20 algorithm value
config: i386-buildonly-randconfig-005-20241210 (https://download.01.org/0day-ci/archive/20241210/202412100658.ach3jkpF-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241210/202412100658.ach3jkpF-lkp@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 <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412100658.ach3jkpF-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/gpu/drm/i915/display/intel_cx0_phy.c:13:
   In file included from drivers/gpu/drm/i915/display/intel_de.h:9:
   In file included from drivers/gpu/drm/i915/i915_drv.h:40:
   In file included from drivers/gpu/drm/i915/display/intel_display_core.h:16:
   In file included from include/drm/drm_connector.h:32:
   In file included from include/drm/drm_util.h:36:
   In file included from include/linux/kgdb.h:19:
   In file included from include/linux/kprobes.h:28:
   In file included from include/linux/ftrace.h:13:
   In file included from include/linux/kallsyms.h:13:
   In file included from include/linux/mm.h:2287:
   include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     518 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
>> drivers/gpu/drm/i915/display/intel_cx0_phy.c:2193:13: warning: variable 'tx_misc' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
    2193 |         } else if (IS_METEORLAKE(to_i915(display->drm))) {
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/i915_drv.h:528:29: note: expanded from macro 'IS_METEORLAKE'
     528 | #define IS_METEORLAKE(i915) IS_PLATFORM(i915, INTEL_METEORLAKE)
         |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cx0_phy.c:2211:26: note: uninitialized use occurs here
    2211 |         return (C20_PHY_TX_MISC(tx_misc) |
         |                                 ^~~~~~~
   drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h:291:73: note: expanded from macro 'C20_PHY_TX_MISC'
     291 | #define   C20_PHY_TX_MISC(val)          REG_FIELD_PREP16(C20_PHY_TX_MISC_MASK, (val))
         |                                                                                 ^~~
   drivers/gpu/drm/i915/i915_reg_defs.h:188:28: note: expanded from macro 'REG_FIELD_PREP16'
     188 |         ((u16)((((typeof(__mask))(__val) << __bf_shf(__mask)) & (__mask)) +      \
         |                                   ^~~~~
   drivers/gpu/drm/i915/display/intel_cx0_phy.c:2193:9: note: remove the 'if' if its condition is always true
    2193 |         } else if (IS_METEORLAKE(to_i915(display->drm))) {
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cx0_phy.c:2182:13: note: initialize the variable 'tx_misc' to silence this warning
    2182 |         u16 tx_misc;
         |                    ^
         |                     = 0
>> drivers/gpu/drm/i915/display/intel_cx0_phy.c:2193:13: warning: variable 'tx_term_ctrl' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
    2193 |         } else if (IS_METEORLAKE(to_i915(display->drm))) {
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/i915_drv.h:528:29: note: expanded from macro 'IS_METEORLAKE'
     528 | #define IS_METEORLAKE(i915) IS_PLATFORM(i915, INTEL_METEORLAKE)
         |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cx0_phy.c:2213:47: note: uninitialized use occurs here
    2213 |                 C20_PHY_TX_DCC_BYPASS | C20_PHY_TX_TERM_CTL(tx_term_ctrl));
         |                                                             ^~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h:297:80: note: expanded from macro 'C20_PHY_TX_TERM_CTL'
     297 | #define   C20_PHY_TX_TERM_CTL(val)      REG_FIELD_PREP16(C20_PHY_TX_TERM_CTL_MASK, (val))
         |                                                                                     ^~~
   drivers/gpu/drm/i915/i915_reg_defs.h:188:28: note: expanded from macro 'REG_FIELD_PREP16'
     188 |         ((u16)((((typeof(__mask))(__val) << __bf_shf(__mask)) & (__mask)) +      \
         |                                   ^~~~~
   drivers/gpu/drm/i915/display/intel_cx0_phy.c:2193:9: note: remove the 'if' if its condition is always true
    2193 |         } else if (IS_METEORLAKE(to_i915(display->drm))) {
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cx0_phy.c:2184:18: note: initialize the variable 'tx_term_ctrl' to silence this warning
    2184 |         u16 tx_term_ctrl;
         |                         ^
         |                          = 0
   3 warnings generated.


vim +2193 drivers/gpu/drm/i915/display/intel_cx0_phy.c

  2177	
  2178	static u16 intel_c20_hdmi_tmds_tx_cgf_1(struct intel_crtc_state *crtc_state)
  2179	{
  2180		struct intel_display *display = to_intel_display(crtc_state);
  2181		struct pci_dev *pdev = NULL;
  2182		u16 tx_misc;
  2183		u16 tx_dcc_cal_dac_ctrl_range = 8;
  2184		u16 tx_term_ctrl;
  2185		u16 host_bridge_pci_dev_id;
  2186	
  2187		if (IS_BATTLEMAGE(to_i915(display->drm))) {
  2188			tx_misc = 0;
  2189			tx_term_ctrl = 2;
  2190		} else if (DISPLAY_VER(display) >= 20) {
  2191			tx_misc = 5;
  2192			tx_term_ctrl = 4;
> 2193		} else if (IS_METEORLAKE(to_i915(display->drm))) {
  2194			/*
  2195			 * Some SoCs have the same drm PCI IDs, so differentiate based
  2196			 * on the host bridge device ID to use the correct txx_mics value.
  2197			 */
  2198			while ((pdev = pci_get_class(PCI_CLASS_BRIDGE_HOST << 8, pdev)))
  2199				host_bridge_pci_dev_id = pdev->device;
  2200	
  2201			if (IS_METEORLAKE_U(to_i915(display->drm)) ||
  2202			    IS_ARROWLAKE_U(to_i915(display->drm)) ||
  2203			    (pdev && IS_ARROWLAKE_S_BY_HOST_BRIDGE_ID(host_bridge_pci_dev_id))) {
  2204				tx_misc = 3;
  2205			} else {
  2206				tx_misc = 7;
  2207			}
  2208	
  2209			tx_term_ctrl = 2;
  2210		}
  2211		return (C20_PHY_TX_MISC(tx_misc) |
  2212			C20_PHY_TX_DCC_CAL_RANGE(tx_dcc_cal_dac_ctrl_range) |
  2213			C20_PHY_TX_DCC_BYPASS | C20_PHY_TX_TERM_CTL(tx_term_ctrl));
  2214	}
  2215	

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


More information about the Intel-gfx mailing list