projects/linux·blob master · refs

33 lines · 881 B

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
14struct xe_sysctrl;
15struct 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
26void 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);
29int xe_sysctrl_send_command(struct xe_sysctrl *sc,
30 struct xe_sysctrl_mailbox_command *cmd,
31 size_t *rdata_len);
32
33#endif