Loading...
Note: File does not exist in v6.2.
1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2023 Intel Corporation
4 */
5
6#ifndef _ABI_GSC_PROXY_COMMANDS_ABI_H
7#define _ABI_GSC_PROXY_COMMANDS_ABI_H
8
9#include <linux/types.h>
10
11/* Heci client ID for proxy commands */
12#define HECI_MEADDRESS_PROXY 10
13
14/* FW-defined proxy header */
15struct xe_gsc_proxy_header {
16 /*
17 * hdr:
18 * Bits 0-7: type of the proxy message (see enum xe_gsc_proxy_type)
19 * Bits 8-15: rsvd
20 * Bits 16-31: length in bytes of the payload following the proxy header
21 */
22 u32 hdr;
23#define GSC_PROXY_TYPE GENMASK(7, 0)
24#define GSC_PROXY_PAYLOAD_LENGTH GENMASK(31, 16)
25
26 u32 source; /* Source of the Proxy message */
27 u32 destination; /* Destination of the Proxy message */
28#define GSC_PROXY_ADDRESSING_KMD 0x10000
29#define GSC_PROXY_ADDRESSING_GSC 0x20000
30#define GSC_PROXY_ADDRESSING_CSME 0x30000
31
32 u32 status; /* Command status */
33} __packed;
34
35/* FW-defined proxy types */
36enum xe_gsc_proxy_type {
37 GSC_PROXY_MSG_TYPE_PROXY_INVALID = 0,
38 GSC_PROXY_MSG_TYPE_PROXY_QUERY = 1,
39 GSC_PROXY_MSG_TYPE_PROXY_PAYLOAD = 2,
40 GSC_PROXY_MSG_TYPE_PROXY_END = 3,
41 GSC_PROXY_MSG_TYPE_PROXY_NOTIFICATION = 4,
42};
43
44#endif