45 lines · c
1/* SPDX-License-Identifier: MIT */2/*3 * Copyright © 2023 Intel Corporation4 */5 6#ifndef _ABI_GSC_PROXY_COMMANDS_ABI_H7#define _ABI_GSC_PROXY_COMMANDS_ABI_H8 9#include <linux/types.h>10 11/* Heci client ID for proxy commands */12#define HECI_MEADDRESS_PROXY 1013 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: rsvd20 * Bits 16-31: length in bytes of the payload following the proxy header21 */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 0x1000029#define GSC_PROXY_ADDRESSING_GSC 0x2000030#define GSC_PROXY_ADDRESSING_CSME 0x3000031 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#endif45