diff options
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_display_wa.h')
| -rw-r--r-- | drivers/gpu/drm/i915/display/intel_display_wa.h | 57 |
1 files changed, 53 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h index be644ab6ae00..15fec843f15e 100644 --- a/drivers/gpu/drm/i915/display/intel_display_wa.h +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h @@ -8,14 +8,63 @@ #include <linux/types.h> -struct drm_i915_private; +struct intel_display; -void intel_display_wa_apply(struct drm_i915_private *i915); +void intel_display_wa_apply(struct intel_display *display); #ifdef I915 -static inline bool intel_display_needs_wa_16023588340(struct drm_i915_private *i915) { return false; } +static inline bool intel_display_needs_wa_16023588340(struct intel_display *display) +{ + return false; +} #else -bool intel_display_needs_wa_16023588340(struct drm_i915_private *i915); +bool intel_display_needs_wa_16023588340(struct intel_display *display); #endif +/* + * This enum lists display workarounds; each entry here must have a + * corresponding case in __intel_display_wa(). Keep both sorted by lineage + * number. + */ +enum intel_display_wa { + INTEL_DISPLAY_WA_1409120013, + INTEL_DISPLAY_WA_1409767108, + INTEL_DISPLAY_WA_13012396614, + INTEL_DISPLAY_WA_14010477008, + INTEL_DISPLAY_WA_14010480278, + INTEL_DISPLAY_WA_14010547955, + INTEL_DISPLAY_WA_14010685332, + INTEL_DISPLAY_WA_14011294188, + INTEL_DISPLAY_WA_14011503030, + INTEL_DISPLAY_WA_14011503117, + INTEL_DISPLAY_WA_14011508470, + INTEL_DISPLAY_WA_14011765242, + INTEL_DISPLAY_WA_14014143976, + INTEL_DISPLAY_WA_14016740474, + INTEL_DISPLAY_WA_14020863754, + INTEL_DISPLAY_WA_14025769978, + INTEL_DISPLAY_WA_15013987218, + INTEL_DISPLAY_WA_15018326506, + INTEL_DISPLAY_WA_16011181250, + INTEL_DISPLAY_WA_16011303918, + INTEL_DISPLAY_WA_16011342517, + INTEL_DISPLAY_WA_16011863758, + INTEL_DISPLAY_WA_16023588340, + INTEL_DISPLAY_WA_16025573575, + INTEL_DISPLAY_WA_16025596647, + INTEL_DISPLAY_WA_18034343758, + INTEL_DISPLAY_WA_22010178259, + INTEL_DISPLAY_WA_22010947358, + INTEL_DISPLAY_WA_22011320316, + INTEL_DISPLAY_WA_22012278275, + INTEL_DISPLAY_WA_22012358565, + INTEL_DISPLAY_WA_22014263786, + INTEL_DISPLAY_WA_22021048059, +}; + +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name); + +#define intel_display_wa(__display, __wa) \ + __intel_display_wa((__display), __wa, __stringify(__wa)) + #endif |
