> -----Original Message----- > From: lkp <lkp@xxxxxxxxx> > Sent: Tuesday, December 10, 2024 4:16 AM > To: Bhadane, Dnyaneshwar <dnyaneshwar.bhadane@xxxxxxxxx>; intel- > gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: llvm@xxxxxxxxxxxxxxx; oe-kbuild-all@xxxxxxxxxxxxxxx; Bhadane, Dnyaneshwar > <dnyaneshwar.bhadane@xxxxxxxxx> > Subject: Re: [PATCH v2] drm/i915/cx0_phy: Update HDMI TMDS C20 algorithm > value > > 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@xxxxxxxxx/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@xxxxxxxxx/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@xxxxxxxxx> > | 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. I will address these warnings. Dnyaneshwar > > > 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