[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