Linux 6.7-rc7
[linux-modified.git] / drivers / misc / mei / mkhi.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (c) 2003-2022, Intel Corporation. All rights reserved.
4  * Intel Management Engine Interface (Intel MEI) Linux driver
5  */
6
7 #ifndef _MEI_MKHI_H_
8 #define _MEI_MKHI_H_
9
10 #include <linux/types.h>
11
12 #define MKHI_FEATURE_PTT 0x10
13
14 #define MKHI_FWCAPS_GROUP_ID 0x3
15 #define MKHI_FWCAPS_SET_OS_VER_APP_RULE_CMD 6
16 #define MKHI_GEN_GROUP_ID 0xFF
17 #define MKHI_GEN_GET_FW_VERSION_CMD 0x2
18
19 #define MKHI_GROUP_ID_GFX              0x30
20 #define MKHI_GFX_RESET_WARN_CMD_REQ    0x0
21 #define MKHI_GFX_MEMORY_READY_CMD_REQ  0x1
22
23 /* Allow transition to PXP mode without approval */
24 #define MKHI_GFX_MEM_READY_PXP_ALLOWED  0x1
25
26 struct mkhi_rule_id {
27         __le16 rule_type;
28         u8 feature_id;
29         u8 reserved;
30 } __packed;
31
32 struct mkhi_fwcaps {
33         struct mkhi_rule_id id;
34         u8 len;
35         u8 data[];
36 } __packed;
37
38 struct mkhi_msg_hdr {
39         u8  group_id;
40         u8  command;
41         u8  reserved;
42         u8  result;
43 } __packed;
44
45 struct mkhi_msg {
46         struct mkhi_msg_hdr hdr;
47         u8 data[];
48 } __packed;
49
50 struct mkhi_gfx_mem_ready {
51         struct mkhi_msg_hdr hdr;
52         u32    flags;
53 } __packed;
54
55 #endif /* _MEI_MKHI_H_ */