xref: /linux/drivers/gpu/drm/i915/display/intel_display_wa.h (revision 53597deca0e38c30e6cd4ba2114fa42d2bcd85bb)
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2023 Intel Corporation
4  */
5 
6 #ifndef __INTEL_DISPLAY_WA_H__
7 #define __INTEL_DISPLAY_WA_H__
8 
9 #include <linux/types.h>
10 
11 struct intel_display;
12 
13 void intel_display_wa_apply(struct intel_display *display);
14 
15 #ifdef I915
16 static inline bool intel_display_needs_wa_16023588340(struct intel_display *display)
17 {
18 	return false;
19 }
20 #else
21 bool intel_display_needs_wa_16023588340(struct intel_display *display);
22 #endif
23 
24 /*
25  * This enum lists display workarounds; each entry here must have a
26  * corresponding case in __intel_display_wa().  Keep both sorted by lineage
27  * number.
28  */
29 enum intel_display_wa {
30 	INTEL_DISPLAY_WA_1409120013,
31 	INTEL_DISPLAY_WA_1409767108,
32 	INTEL_DISPLAY_WA_13012396614,
33 	INTEL_DISPLAY_WA_14010477008,
34 	INTEL_DISPLAY_WA_14010480278,
35 	INTEL_DISPLAY_WA_14010547955,
36 	INTEL_DISPLAY_WA_14010685332,
37 	INTEL_DISPLAY_WA_14011294188,
38 	INTEL_DISPLAY_WA_14011503030,
39 	INTEL_DISPLAY_WA_14011503117,
40 	INTEL_DISPLAY_WA_14011508470,
41 	INTEL_DISPLAY_WA_14011765242,
42 	INTEL_DISPLAY_WA_14014143976,
43 	INTEL_DISPLAY_WA_14016740474,
44 	INTEL_DISPLAY_WA_14020863754,
45 	INTEL_DISPLAY_WA_14025769978,
46 	INTEL_DISPLAY_WA_15013987218,
47 	INTEL_DISPLAY_WA_15018326506,
48 	INTEL_DISPLAY_WA_16011181250,
49 	INTEL_DISPLAY_WA_16011303918,
50 	INTEL_DISPLAY_WA_16011342517,
51 	INTEL_DISPLAY_WA_16011863758,
52 	INTEL_DISPLAY_WA_16023588340,
53 	INTEL_DISPLAY_WA_16025573575,
54 	INTEL_DISPLAY_WA_16025596647,
55 	INTEL_DISPLAY_WA_18034343758,
56 	INTEL_DISPLAY_WA_22010178259,
57 	INTEL_DISPLAY_WA_22010947358,
58 	INTEL_DISPLAY_WA_22011320316,
59 	INTEL_DISPLAY_WA_22012278275,
60 	INTEL_DISPLAY_WA_22012358565,
61 	INTEL_DISPLAY_WA_22014263786,
62 	INTEL_DISPLAY_WA_22021048059,
63 };
64 
65 bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name);
66 
67 #define intel_display_wa(__display, __wa) \
68 	__intel_display_wa((__display), __wa, __stringify(__wa))
69 
70 #endif
71