]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/i915/dmc: Clear HRR EVT_CTL/HTP to zero on ADL-S
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 22 Oct 2025 10:07:16 +0000 (13:07 +0300)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 28 Oct 2025 20:00:19 +0000 (16:00 -0400)
commitdc8aa0cb87a7836b59422cc02d969c8df849ee39
treed53249756bb9b7712397237ab88cdcd0429a4dc9
parentdcb6fa37fd7bc9c3d2b066329b0d27dedf8becaa
drm/i915/dmc: Clear HRR EVT_CTL/HTP to zero on ADL-S

On ADL-S the main DMC HRR event DMC_EVT_CTL/HTP are never
restored to their previous values during DC6 exit. This
angers assert_dmc_loaded(), and basically makes the HRR
handler unusable because we don't rewrite EVT_HTP when
enabling DMC events.

Let's just clear the HRR EVT_CTL/HTP to zero from the
beginnning so that the expected value matches the post-DC6
reality.

I suppose if we ever had actual use for HRR we'd have to both,
reject HRR+PSR, and reprogram EVT_HTP when enabling the event.
But for now we don't care about HRR so keeping both registers
zeroed is fine.

Cc: stable@vger.kernel.org
Tested-by: Petr Vorel <pvorel@suse.cz>
Fixes: 43175c92d403 ("drm/i915/dmc: Assert DMC is loaded harder")
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15153
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20251022100718.24803-2-ville.syrjala@linux.intel.com
Reviewed-by: Petr Vorel <pvorel@suse.cz>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Tested-by: Imre Deak <imre.deak@intel.com>
(cherry picked from commit 4df3b340ff6e9f499735d8b52b96a9257fde3918)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/display/intel_dmc.c