drm/i915/dmc: Also disable HRR event on TGL/ADLS main DMC
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 13 Dec 2023 15:08:07 +0000 (17:08 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 18 Dec 2023 10:25:13 +0000 (12:25 +0200)
commite1a4e3cb3ac67ced1fe9e83fea6d8d91f7c4e864
treef9196bbc4fc9b797b4ca549fcd9303f1ff54d096
parentbe2fce7891e20bdd1c785dd590c59d0ad6a1525a
drm/i915/dmc: Also disable HRR event on TGL/ADLS main DMC

Unlike later platforms TGL/ADLS has the half refresh rate (HRR) event
on the main DMC (as opposed to the pipe DMC). Since we're disabling
that event on all later platforms already let's do the same on
TGL/ADLS as well.

There is supposedly a bit somewhere (DMC_CHICKEN on TGL) to make
the handler not do anything, but we don't currently have code
to frob it. Though that bit should be off by default, the ADL+
experience has shown us that trusting any of this isn't a good
idea. So seems safer to just disable all event handlers we know
that we don't need.

Also the TGL/ADLS DMC firmware is apparently using the wrong event
(undelayed vblank) here anyway. It should be using the delayed
vblank event instead (like ADL+ firmware does), but they didn't
release a firmware fix for this and instead just hacked around
this in the Windows driver code :/

v2: Also disable the event on ADLS (Imre)

Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231213150807.21331-1-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak@intel.com>
drivers/gpu/drm/i915/display/intel_dmc.c
drivers/gpu/drm/i915/display/intel_dmc_regs.h