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
26struct mkhi_rule_id {
27	__le16 rule_type;
28	u8 feature_id;
29	u8 reserved;
30} __packed;
31
32struct mkhi_fwcaps {
33	struct mkhi_rule_id id;
34	u8 len;
35	u8 data[];
36} __packed;
37
38struct mkhi_msg_hdr {
39	u8  group_id;
40	u8  command;
41	u8  reserved;
42	u8  result;
43} __packed;
44
45struct mkhi_msg {
46	struct mkhi_msg_hdr hdr;
47	u8 data[];
48} __packed;
49
50struct mkhi_gfx_mem_ready {
51	struct mkhi_msg_hdr hdr;
52	u32    flags;
53} __packed;
54
55#endif /* _MEI_MKHI_H_ */
56