xref: /linux/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h (revision 0eaed89c18aeedf0898baf2dbf5ff027c6795152)
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