On Wed, 21 Jan 2026, Suraj Kandpal <[email protected]> wrote: > Incorrect clock is connected to DMG registers. > Disable DMG Clock gating during display initialization. > > WA: 22021451799 > Bspec: 69095 > Signed-off-by: Suraj Kandpal <[email protected]> > Reviewed-by: Nemesa Garg <[email protected]> > --- > > v1 -> v2: > -Remove details from comment (Nemesa) > -Add details in commit message (Ville) > > drivers/gpu/drm/i915/display/intel_modeset_setup.c | 4 ++++ > drivers/gpu/drm/i915/i915_reg.h | 1 + > drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c | 1 + > 3 files changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_modeset_setup.c > b/drivers/gpu/drm/i915/display/intel_modeset_setup.c > index d10cbf69a5f8..7180e54af50b 100644 > --- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c > +++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c > @@ -910,6 +910,10 @@ get_encoder_power_domains(struct intel_display *display) > > static void intel_early_display_was(struct intel_display *display) > { > + /* Wa_22021451799 */ > + if (DISPLAY_VER(display) == 35) > + intel_de_rmw(display, GEN9_CLKGATE_DIS_0, 0, DMG_GATING_DIS); > + > /* > * Display WA #1185 WaDisableDARBFClkGating:glk,icl,ehl,tgl > * Also known as Wa_14010480278. > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index 5bf3b4ab2baa..f928db78a3fa 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -763,6 +763,7 @@ > */ > #define GEN9_CLKGATE_DIS_0 _MMIO(0x46530) > #define DARBF_GATING_DIS REG_BIT(27) > +#define DMG_GATING_DIS REG_BIT(21) > #define MTL_PIPEDMC_GATING_DIS(pipe) REG_BIT(15 - (pipe)) > #define PWM2_GATING_DIS REG_BIT(14) > #define PWM1_GATING_DIS REG_BIT(13) > diff --git a/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c > b/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c > index d95786faf181..c4c4058c8ac5 100644 > --- a/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c > +++ b/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c > @@ -2923,6 +2923,7 @@ static void > drm_test_check_reject_hdr_infoframe_bpc_10(struct kunit *test) > > &new_conn_state->hdr_output_metadata, > hdr_blob->base.id, > sizeof(struct > hdr_output_metadata), -1, > + sizeof(struct > hdr_output_metadata), > &replaced);
Stray change. > KUNIT_ASSERT_EQ(test, ret, 0); > KUNIT_ASSERT_EQ(test, replaced, true); -- Jani Nikula, Intel
