summaryrefslogtreecommitdiffstats
path: root/drivers/firmware/arm_scmi/raw_mode.h
blob: 8af756a83fd14f64bbe5afa8ce0139cd2bbd02f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * System Control and Management Interface (SCMI) Message Protocol
 * Raw mode support header.
 *
 * Copyright (C) 2022 ARM Ltd.
 */
#ifndef _SCMI_RAW_MODE_H
#define _SCMI_RAW_MODE_H

#include "common.h"

enum {
	SCMI_RAW_REPLY_QUEUE,
	SCMI_RAW_NOTIF_QUEUE,
	SCMI_RAW_ERRS_QUEUE,
	SCMI_RAW_MAX_QUEUE
};

void *scmi_raw_mode_init(const struct scmi_handle *handle,
			 struct dentry *top_dentry, int instance_id,
			 u8 *channels, int num_chans,
			 const struct scmi_desc *desc, int tx_max_msg);
void scmi_raw_mode_cleanup(void *raw);

void scmi_raw_message_report(void *raw, struct scmi_xfer *xfer,
			     unsigned int idx, unsigned int chan_id);
void scmi_raw_error_report(void *raw, struct scmi_chan_info *cinfo,
			   u32 msg_hdr, void *priv);

#endif /* _SCMI_RAW_MODE_H */