47 lines · c
1/* SPDX-License-Identifier: MIT */2/*3 * Copyright © 2023 Intel Corporation4 */5 6#ifndef _ABI_GSC_COMMAND_HEADER_ABI_H7#define _ABI_GSC_COMMAND_HEADER_ABI_H8 9#include <linux/types.h>10 11struct intel_gsc_mtl_header {12 u32 validity_marker;13#define GSC_HECI_VALIDITY_MARKER 0xA578875A14 15 u8 heci_client_id;16 17 u8 reserved1;18 19 u16 header_version;20#define MTL_GSC_HEADER_VERSION 121 22 /* FW allows host to decide host_session handle as it sees fit. */23 u64 host_session_handle;24 25 /* handle generated by FW for messages that need to be re-submitted */26 u64 gsc_message_handle;27 28 u32 message_size; /* lower 20 bits only, upper 12 are reserved */29 30 /*31 * Flags mask:32 * Bit 0: Pending33 * Bit 1: Session Cleanup;34 * Bits 2-15: Flags35 * Bits 16-31: Extension Size36 * According to internal spec flags are either input or output37 * we distinguish the flags using OUTFLAG or INFLAG38 */39 u32 flags;40#define GSC_OUTFLAG_MSG_PENDING BIT(0)41#define GSC_INFLAG_MSG_CLEANUP BIT(1)42 43 u32 status;44} __packed;45 46#endif47