1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2026 Intel Corporation 4 */ 5 6 #ifndef _XE_SYSCTRL_MAILBOX_H_ 7 #define _XE_SYSCTRL_MAILBOX_H_ 8 9 #include <linux/bitfield.h> 10 #include <linux/types.h> 11 12 #include "abi/xe_sysctrl_abi.h" 13 14 struct xe_sysctrl; 15 struct xe_sysctrl_mailbox_command; 16 17 #define XE_SYSCTRL_APP_HDR_GROUP_ID(hdr) \ 18 FIELD_GET(APP_HDR_GROUP_ID_MASK, (hdr)->data) 19 20 #define XE_SYSCTRL_APP_HDR_COMMAND(hdr) \ 21 FIELD_GET(APP_HDR_COMMAND_MASK, (hdr)->data) 22 23 #define XE_SYSCTRL_APP_HDR_VERSION(hdr) \ 24 FIELD_GET(APP_HDR_VERSION_MASK, (hdr)->data) 25 26 void xe_sysctrl_mailbox_init(struct xe_sysctrl *sc); 27 int xe_sysctrl_send_command(struct xe_sysctrl *sc, 28 struct xe_sysctrl_mailbox_command *cmd, 29 size_t *rdata_len); 30 31 #endif 32