drm/i915/xelpd: Fix unclaimed accesses while loading PIPEDMC-C/D
authorImre Deak <imre.deak@intel.com>
Mon, 8 Aug 2022 10:30:54 +0000 (13:30 +0300)
committerImre Deak <imre.deak@intel.com>
Mon, 15 Aug 2022 08:40:24 +0000 (11:40 +0300)
commit36e599e179db51d61d2b30ea63bead7abfae8506
tree7303f735762023e60c8a74f3a97aa8177c2f4c74
parent1bba7323c79b169d855ecb4a1eba410f18a38674
drm/i915/xelpd: Fix unclaimed accesses while loading PIPEDMC-C/D

At the moment on DG2 at least loading the DMC firmware's PIPEDMC C and D
programs leads to sporadic unclaimed register accesses while programming
the initial state as described by the firmware's "MMIO init" table. This
will also lead to later unclaimed accesses for unrelated transcoder/pipe
registers backed by the pipe C and D display power wells.

Disabling the PIPEDMC clock gating during initialization - similarly to
Wa_16015201720 fixed this problem in my tests. While pipe A an B
requires the clock gating to be disabled all the time pipe C and D
requires this only while accessing the PIPEDMC registers.

Bspec: 49193
References: https://gitlab.freedesktop.org/drm/intel/-/issues/6526
References: https://gitlab.freedesktop.org/drm/intel/-/issues/6308
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220808103054.3586074-1-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_display_power.c
drivers/gpu/drm/i915/display/intel_dmc.c