1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2014-2018 Intel Corporation
4  */
5 
6 #ifndef __INTEL_WORKAROUNDS_TYPES_H__
7 #define __INTEL_WORKAROUNDS_TYPES_H__
8 
9 #include <linux/types.h>
10 
11 #include "i915_reg_defs.h"
12 
13 struct intel_gt;
14 
15 struct i915_wa {
16 	union {
17 		i915_reg_t	reg;
18 		i915_mcr_reg_t	mcr_reg;
19 	};
20 	u32		clr;
21 	u32		set;
22 	u32		read;
23 
24 	u32		masked_reg:1;
25 	u32		is_mcr:1;
26 };
27 
28 struct i915_wa_list {
29 	struct intel_gt	*gt;
30 	const char	*name;
31 	const char	*engine_name;
32 	struct i915_wa	*list;
33 	unsigned int	count;
34 	unsigned int	wa_count;
35 };
36 
37 #endif /* __INTEL_WORKAROUNDS_TYPES_H__ */
38