xref: /linux/drivers/firmware/arm_scmi/raw_mode.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * System Control and Management Interface (SCMI) Message Protocol
4  * Raw mode support header.
5  *
6  * Copyright (C) 2022 ARM Ltd.
7  */
8 #ifndef _SCMI_RAW_MODE_H
9 #define _SCMI_RAW_MODE_H
10 
11 #include "common.h"
12 
13 enum {
14 	SCMI_RAW_REPLY_QUEUE,
15 	SCMI_RAW_NOTIF_QUEUE,
16 	SCMI_RAW_ERRS_QUEUE,
17 	SCMI_RAW_MAX_QUEUE
18 };
19 
20 void *scmi_raw_mode_init(const struct scmi_handle *handle,
21 			 struct dentry *top_dentry, int instance_id,
22 			 u8 *channels, int num_chans,
23 			 const struct scmi_desc *desc, int tx_max_msg);
24 void scmi_raw_mode_cleanup(void *raw);
25 
26 void scmi_raw_message_report(void *raw, struct scmi_xfer *xfer,
27 			     unsigned int idx, unsigned int chan_id);
28 void scmi_raw_error_report(void *raw, struct scmi_chan_info *cinfo,
29 			   u32 msg_hdr, void *priv);
30 
31 #endif /* _SCMI_RAW_MODE_H */
32