Re: [PATCH v2 3/3] drm/i915/lt_phy: program DDI_CLK_VALFREQ with DDI clock frequency

Rodrigo Vivi <[email protected]>
Newsgroups org.freedesktop.lists.intel-gfx,org.freedesktop.lists.intel-xe
Message-ID <[email protected]>
On Wed, Aug 12, 2026 at 09:20:12AM +0530, Nautiyal, Ankit K wrote:
> 
> On 8/11/2026 11:28 PM, Suraj Kandpal wrote:
> > DDI_CLK_VALFREQ is programmed with the port clock, which for DP is the
> > symbol clock computed assuming 8b/10b encoding (link_rate / 10). For
> > DP 128b/132b (UHBR) rates and for HDMI FRL the port clock needs to
> > be modified.
> > On silicon DDI_CLK_VALFREQ is a scratch register with no
> > functional impact, so the bug is not observed.
> > Use intel_ddi_link_symbol_clock() to write the correct DDI clock in
> > kHz
> > 
> > Fixes: 5ec58d714935 ("drm/i915/lt_phy: Add .enable_clock hook on DDI")

Next time, please be mindful about the -fixes, stable, and customer trees
and keep new helper in the same patch as the fixes.

Thanks,
Rodrigo.

> > Signed-off-by: Suraj Kandpal <[email protected]>
> 
> Reviewed-by: Ankit Nautiyal <[email protected]>
> 
> 
> > ---
> >   drivers/gpu/drm/i915/display/intel_lt_phy.c | 6 ++++--
> >   1 file changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_lt_phy.c b/drivers/gpu/drm/i915/display/intel_lt_phy.c
> > index 8fc6d230493f..86492651b01d 100644
> > --- a/drivers/gpu/drm/i915/display/intel_lt_phy.c
> > +++ b/drivers/gpu/drm/i915/display/intel_lt_phy.c
> > @@ -1976,7 +1976,8 @@ void intel_lt_phy_pll_enable(struct intel_encoder *encoder,
> >   		 * Change. We handle this step in bxt_set_cdclk().
> >   		 */
> >   		/* 10. Program DDI_CLK_VALFREQ to match intended DDI clock frequency. */
> > -		intel_de_write(display, DDI_CLK_VALFREQ(encoder->port), port_clock);
> > +		intel_de_write(display, DDI_CLK_VALFREQ(encoder->port),
> > +			       intel_ddi_link_symbol_clock(encoder, port_clock));
> >   		/* 11. Program PORT_CLOCK_CTL[PCLK PLL Request LN0] = 1. */
> >   		intel_de_rmw(display, XELPDP_PORT_CLOCK_CTL(display, port),
> > @@ -2023,7 +2024,8 @@ void intel_lt_phy_pll_enable(struct intel_encoder *encoder,
> >   			     lane_phy_pulse_status,
> >   			     lane_phy_pulse_status);
> >   	} else {
> > -		intel_de_write(display, DDI_CLK_VALFREQ(encoder->port), port_clock);
> > +		intel_de_write(display, DDI_CLK_VALFREQ(encoder->port),
> > +			       intel_ddi_link_symbol_clock(encoder, port_clock));
> >   	}
> >   	/*
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.