137ace525SAnoop Vijay /* SPDX-License-Identifier: MIT */ 237ace525SAnoop Vijay /* 337ace525SAnoop Vijay * Copyright © 2026 Intel Corporation 437ace525SAnoop Vijay */ 537ace525SAnoop Vijay 637ace525SAnoop Vijay #ifndef _XE_SYSCTRL_MAILBOX_H_ 737ace525SAnoop Vijay #define _XE_SYSCTRL_MAILBOX_H_ 837ace525SAnoop Vijay 937ace525SAnoop Vijay #include <linux/bitfield.h> 1037ace525SAnoop Vijay #include <linux/types.h> 1137ace525SAnoop Vijay 1237ace525SAnoop Vijay #include "abi/xe_sysctrl_abi.h" 1337ace525SAnoop Vijay 1437ace525SAnoop Vijay struct xe_sysctrl; 1537ace525SAnoop Vijay struct xe_sysctrl_mailbox_command; 1637ace525SAnoop Vijay 1737ace525SAnoop Vijay #define XE_SYSCTRL_APP_HDR_GROUP_ID(hdr) \ 18*45334d5cSAnoop Vijay FIELD_GET(APP_HDR_GROUP_ID_MASK, (hdr)->data) 1937ace525SAnoop Vijay 2037ace525SAnoop Vijay #define XE_SYSCTRL_APP_HDR_COMMAND(hdr) \ 21*45334d5cSAnoop Vijay FIELD_GET(APP_HDR_COMMAND_MASK, (hdr)->data) 2237ace525SAnoop Vijay 2337ace525SAnoop Vijay #define XE_SYSCTRL_APP_HDR_VERSION(hdr) \ 24*45334d5cSAnoop Vijay FIELD_GET(APP_HDR_VERSION_MASK, (hdr)->data) 2537ace525SAnoop Vijay 2637ace525SAnoop Vijay void xe_sysctrl_mailbox_init(struct xe_sysctrl *sc); 2737ace525SAnoop Vijay int xe_sysctrl_send_command(struct xe_sysctrl *sc, 2837ace525SAnoop Vijay struct xe_sysctrl_mailbox_command *cmd, 2937ace525SAnoop Vijay size_t *rdata_len); 3037ace525SAnoop Vijay 3137ace525SAnoop Vijay #endif 32