Re: [PATCH 1/2] drm/i915/cdclk: Avoid spurious cdclk sanitization on PTL+
Ville Syrjälä <[email protected]>
| Newsgroups | org.freedesktop.lists.intel-gfx,org.freedesktop.lists.intel-xe,org.kernel.vger.stable |
|---|---|
| Organization | Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs Bertel Jungin Aukio 5, 02600 Espoo, Finland |
| Message-ID | <[email protected]> |
On Fri, Jul 17, 2026 at 06:51:06PM +0300, Ville Syrjala wrote: > From: Ville Syrjälä <[email protected]> > > Apparently PTL+ no longer has the cd2x pipe select field in > CDCLK_CTL. Take that into account during CDCLK sanitization. > > This currently triggers a spurious CDCLK sanitization during > driver load on PTL+ which will causes a visible glitch on all > active displays. > > Cc: [email protected] > Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/8550 > Fixes: 3f9de66f8acb ("drm/i915/cdclk: Fix up CDCLK_FREQ_DECIMAL without a full PLL re-enable") > Signed-off-by: Ville Syrjälä <[email protected]> > --- Unfortunately the regression itself has a cc:stable on it, so we'll need to backport this fix as well. To do that cleanly we need to pick up these as well: commit cd16e794aead ("drm/i915/cdclk: Clean up CDCLK_CTL defines") commit 67d77d9472c6 ("drm/i915/cdclk: Introduce bxt_cdclk_cd2x_pipe_mask() and use it") > drivers/gpu/drm/i915/display/intel_cdclk.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c > index a53d88727177..9e5e15b0c4d1 100644 > --- a/drivers/gpu/drm/i915/display/intel_cdclk.c > +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c > @@ -2381,8 +2381,10 @@ static void bxt_sanitize_cdclk(struct intel_display *display) > * dividers both syncing to an active pipe, or asynchronously > * (PIPE_NONE). > */ > - cdctl &= ~bxt_cdclk_cd2x_pipe_mask(display); > - cdctl |= bxt_cdclk_cd2x_pipe(display, INVALID_PIPE); > + if (DISPLAY_VER(display) < 30) { > + cdctl &= ~bxt_cdclk_cd2x_pipe_mask(display); > + cdctl |= bxt_cdclk_cd2x_pipe(display, INVALID_PIPE); > + } > > if (cdctl != expected) { > if (DISPLAY_VER(display) < 20) { > -- > 2.54.0 -- Ville Syrjälä Intel