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