xref: /linux/drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h (revision a23e1966932464e1c5226cb9ac4ce1d5fc10ba22)
10881cbe0SDaniele Ceraolo Spurio /* SPDX-License-Identifier: MIT */
20881cbe0SDaniele Ceraolo Spurio /*
30881cbe0SDaniele Ceraolo Spurio  * Copyright © 2023 Intel Corporation
40881cbe0SDaniele Ceraolo Spurio  */
50881cbe0SDaniele Ceraolo Spurio 
60881cbe0SDaniele Ceraolo Spurio #ifndef _ABI_GSC_MKHI_COMMANDS_ABI_H
70881cbe0SDaniele Ceraolo Spurio #define _ABI_GSC_MKHI_COMMANDS_ABI_H
80881cbe0SDaniele Ceraolo Spurio 
90881cbe0SDaniele Ceraolo Spurio #include <linux/types.h>
100881cbe0SDaniele Ceraolo Spurio 
110881cbe0SDaniele Ceraolo Spurio /* Heci client ID for MKHI commands */
120881cbe0SDaniele Ceraolo Spurio #define HECI_MEADDRESS_MKHI 7
130881cbe0SDaniele Ceraolo Spurio 
140881cbe0SDaniele Ceraolo Spurio /* Generic MKHI header */
150881cbe0SDaniele Ceraolo Spurio struct gsc_mkhi_header {
160881cbe0SDaniele Ceraolo Spurio 	u8  group_id;
170881cbe0SDaniele Ceraolo Spurio 	u8  command;
180881cbe0SDaniele Ceraolo Spurio 	u8  reserved;
190881cbe0SDaniele Ceraolo Spurio 	u8  result;
200881cbe0SDaniele Ceraolo Spurio } __packed;
210881cbe0SDaniele Ceraolo Spurio 
220881cbe0SDaniele Ceraolo Spurio /* GFX_SRV commands */
230881cbe0SDaniele Ceraolo Spurio #define MKHI_GROUP_ID_GFX_SRV 0x30
240881cbe0SDaniele Ceraolo Spurio 
250881cbe0SDaniele Ceraolo Spurio #define MKHI_GFX_SRV_GET_HOST_COMPATIBILITY_VERSION (0x42)
260881cbe0SDaniele Ceraolo Spurio 
270881cbe0SDaniele Ceraolo Spurio struct gsc_get_compatibility_version_in {
280881cbe0SDaniele Ceraolo Spurio 	struct gsc_mkhi_header header;
290881cbe0SDaniele Ceraolo Spurio } __packed;
300881cbe0SDaniele Ceraolo Spurio 
310881cbe0SDaniele Ceraolo Spurio struct gsc_get_compatibility_version_out {
320881cbe0SDaniele Ceraolo Spurio 	struct gsc_mkhi_header header;
330881cbe0SDaniele Ceraolo Spurio 	u16 proj_major;
340881cbe0SDaniele Ceraolo Spurio 	u16 compat_major;
350881cbe0SDaniele Ceraolo Spurio 	u16 compat_minor;
360881cbe0SDaniele Ceraolo Spurio 	u16 reserved[5];
370881cbe0SDaniele Ceraolo Spurio } __packed;
380881cbe0SDaniele Ceraolo Spurio 
390881cbe0SDaniele Ceraolo Spurio #endif
40