Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/i915/display: convert W/As in skl_universal_plane.c to new framework

Convert the low-hanging fruits of workaround checks to the workaround
framework. Instead of having display structure checks for the
workarounds all over, concentrate the checks in intel_display_wa.c.

Acked-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patch.msgid.link/20260305100100.332956-16-luciano.coelho@intel.com
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

+8 -3
+4
drivers/gpu/drm/i915/display/intel_display_wa.c
··· 79 79 case INTEL_DISPLAY_WA_13012396614: 80 80 return DISPLAY_VERx100(display) == 3000 || 81 81 DISPLAY_VERx100(display) == 3500; 82 + case INTEL_DISPLAY_WA_14010477008: 83 + return display->platform.dg1 || display->platform.rocketlake || 84 + (display->platform.tigerlake && 85 + IS_DISPLAY_STEP(display, STEP_A0, STEP_D0)); 82 86 case INTEL_DISPLAY_WA_14010480278: 83 87 return (IS_DISPLAY_VER(display, 10, 12)); 84 88 case INTEL_DISPLAY_WA_14010547955:
+1
drivers/gpu/drm/i915/display/intel_display_wa.h
··· 30 30 INTEL_DISPLAY_WA_1409120013, 31 31 INTEL_DISPLAY_WA_1409767108, 32 32 INTEL_DISPLAY_WA_13012396614, 33 + INTEL_DISPLAY_WA_14010477008, 33 34 INTEL_DISPLAY_WA_14010480278, 34 35 INTEL_DISPLAY_WA_14010547955, 35 36 INTEL_DISPLAY_WA_14010685332,
+3 -3
drivers/gpu/drm/i915/display/skl_universal_plane.c
··· 17 17 #include "intel_display_regs.h" 18 18 #include "intel_display_types.h" 19 19 #include "intel_display_utils.h" 20 + #include "intel_display_wa.h" 20 21 #include "intel_fb.h" 21 22 #include "intel_fbc.h" 22 23 #include "intel_frontbuffer.h" ··· 1217 1216 plane_ctl |= PLANE_CTL_KEY_ENABLE_SOURCE; 1218 1217 1219 1218 /* Wa_22012358565:adl-p */ 1220 - if (DISPLAY_VER(display) == 13) 1219 + if (intel_display_wa(display, INTEL_DISPLAY_WA_22012358565)) 1221 1220 plane_ctl |= adlp_plane_ctl_arb_slots(plane_state); 1222 1221 1223 1222 return plane_ctl; ··· 2793 2792 enum plane_id plane_id) 2794 2793 { 2795 2794 /* Wa_14010477008 */ 2796 - if (display->platform.dg1 || display->platform.rocketlake || 2797 - (display->platform.tigerlake && IS_DISPLAY_STEP(display, STEP_A0, STEP_D0))) 2795 + if (intel_display_wa(display, INTEL_DISPLAY_WA_14010477008)) 2798 2796 return false; 2799 2797 2800 2798 return plane_id < PLANE_6;