| 1 |
|
| 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
|