summaryrefslogtreecommitdiffstats
path: root/drivers/misc/mei/mkhi.h
blob: 1473ea48966623ae2ea714afdd1f29dff4650842 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2003-2022, Intel Corporation. All rights reserved.
 * Intel Management Engine Interface (Intel MEI) Linux driver
 */

#ifndef _MEI_MKHI_H_
#define _MEI_MKHI_H_

#include <linux/types.h>

#define MKHI_FEATURE_PTT 0x10

#define MKHI_FWCAPS_GROUP_ID 0x3
#define MKHI_FWCAPS_SET_OS_VER_APP_RULE_CMD 6
#define MKHI_GEN_GROUP_ID 0xFF
#define MKHI_GEN_GET_FW_VERSION_CMD 0x2

#define MKHI_GROUP_ID_GFX              0x30
#define MKHI_GFX_RESET_WARN_CMD_REQ    0x0
#define MKHI_GFX_MEMORY_READY_CMD_REQ  0x1

/* Allow transition to PXP mode without approval */
#define MKHI_GFX_MEM_READY_PXP_ALLOWED  0x1

struct mkhi_rule_id {
	__le16 rule_type;
	u8 feature_id;
	u8 reserved;
} __packed;

struct mkhi_fwcaps {
	struct mkhi_rule_id id;
	u8 len;
	u8 data[];
} __packed;

struct mkhi_msg_hdr {
	u8  group_id;
	u8  command;
	u8  reserved;
	u8  result;
} __packed;

struct mkhi_msg {
	struct mkhi_msg_hdr hdr;
	u8 data[];
} __packed;

struct mkhi_gfx_mem_ready {
	struct mkhi_msg_hdr hdr;
	u32    flags;
} __packed;

#endif /* _MEI_MKHI_H_ */