xref: /linux/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h (revision 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d)
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_create_command(struct xe_sysctrl_mailbox_command *command, u8 group_id, u8 cmd_id,
27 			       void *request, size_t request_len, void *response,
28 			       size_t response_len);
29 int xe_sysctrl_send_command(struct xe_sysctrl *sc,
30 			    struct xe_sysctrl_mailbox_command *cmd,
31 			    size_t *rdata_len);
32 
33 #endif
34