summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/display/intel_cursor.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2021-05-26 20:36:00 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2021-05-27 18:12:10 +0300
commit0b86952d15ceae275f685f9bb571fea30904147f (patch)
tree1495fce6e1c6345dc5dadf988cd422934b521326 /drivers/gpu/drm/i915/display/intel_cursor.c
parentd091fc53eb77f8a2a205b41806cfee5674c6a6ae (diff)
downloadlinux-0b86952d15ceae275f685f9bb571fea30904147f.tar.gz
linux-0b86952d15ceae275f685f9bb571fea30904147f.tar.bz2
linux-0b86952d15ceae275f685f9bb571fea30904147f.zip
drm/i915/adl_p: Implement Wa_22012358565
Implement Wa_22012358565 to avoid underrun with 32bpp cursor in some high bandwidth scenarios. The implementation calls for overriding the arbitration slots for the planes. v2: Fix adlp_plane_ctl_arb_slots() return type Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210526173600.27708-2-ville.syrjala@linux.intel.com Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_cursor.c')
-rw-r--r--drivers/gpu/drm/i915/display/intel_cursor.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_cursor.c b/drivers/gpu/drm/i915/display/intel_cursor.c
index 2ab389b38694..966e020331fb 100644
--- a/drivers/gpu/drm/i915/display/intel_cursor.c
+++ b/drivers/gpu/drm/i915/display/intel_cursor.c
@@ -383,6 +383,10 @@ static u32 i9xx_cursor_ctl(const struct intel_crtc_state *crtc_state,
if (plane_state->hw.rotation & DRM_MODE_ROTATE_180)
cntl |= MCURSOR_ROTATE_180;
+ /* Wa_22012358565:adlp */
+ if (DISPLAY_VER(dev_priv) == 13)
+ cntl |= MCURSOR_ARB_SLOTS(1);
+
return cntl;
}