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