drm/i915/fbc: Move DPFC_CHICKEN programming into intel_fbc_program_workarounds()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 23 Jan 2024 09:00:51 +0000 (11:00 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 7 Mar 2024 18:59:01 +0000 (20:59 +0200)
commitf26b6af51d713227ff6fa40d013ea5bf426ec0e6
tree3d63a6b713c8d0679c59661eda2fe2bc8c685947
parentc9a63bf238a24cc00e204807d0cdd6d13f182e96
drm/i915/fbc: Move DPFC_CHICKEN programming into intel_fbc_program_workarounds()

Move all DPFC_CHICKEN programming into intel_fbc_program_workarounds().
We already have one thing programmed there, whereas the rest is strewn
about in intel_display_wa_apply() and init_clock_gating(). Since we have
a single place doing all the programming (and it's serialized by the
crtc commits) there should be no danger of rmw races.

Other FBC related workarounds also exist, but those require fiddling
with other registers that may also get programmed from other places,
so we'll need to think harder what to do with those.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240123090051.29818-2-ville.syrjala@linux.intel.com
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
drivers/gpu/drm/i915/display/intel_display_wa.c
drivers/gpu/drm/i915/display/intel_fbc.c
drivers/gpu/drm/i915/intel_clock_gating.c