[PATCH v2] drm/i915/cx0_phy: Update HDMI TMDS C20 algorithm value
Bhadane, Dnyaneshwar
dnyaneshwar.bhadane at intel.com
Tue Dec 10 07:07:16 UTC 2024
> -----Original Message-----
> From: lkp <lkp at intel.com>
> Sent: Tuesday, December 10, 2024 4:16 AM
> To: Bhadane, Dnyaneshwar <dnyaneshwar.bhadane at intel.com>; intel-
> gfx at lists.freedesktop.org
> Cc: llvm at lists.linux.dev; oe-kbuild-all at lists.linux.dev; Bhadane, Dnyaneshwar
> <dnyaneshwar.bhadane at intel.com>
> 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 at 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 at 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.
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
More information about the Intel-gfx
mailing list