1 From 0771d1d96e6439c00497a521f8d2c9803f7e07e2 Mon Sep 17 00:00:00 2001
2 From: Igor Skalkin <igor.skalkin@opensynergy.com>
3 Date: Thu, 5 Nov 2020 22:21:10 +0100
4 Subject: [PATCH] firmware: arm_scmi: Add per message transport data
6 The virtio transport in this patch series can be simplified by using the
7 scmi_xfer tx/rx buffers for data exchange with the virtio device, and
8 for saving the message state. But the virtio transport requires
9 prepending a transport-specific header. Also, for data exchange using
10 virtqueues, the tx and rx buffers should not overlap.
12 The first step to solve the aforementioned issues is to add a
13 transport-specific data pointer to scmi_xfer.
15 Co-developed-by: Peter Hilber <peter.hilber@opensynergy.com>
16 Signed-off-by: Peter Hilber <peter.hilber@opensynergy.com>
17 Signed-off-by: Igor Skalkin <igor.skalkin@opensynergy.com>
18 Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
20 drivers/firmware/arm_scmi/common.h | 2 ++
21 1 file changed, 2 insertions(+)
23 diff --git a/drivers/firmware/arm_scmi/common.h b/drivers/firmware/arm_scmi/common.h
24 index 9a8359ecd220..c998ec29018e 100644
25 --- a/drivers/firmware/arm_scmi/common.h
26 +++ b/drivers/firmware/arm_scmi/common.h
27 @@ -131,6 +131,7 @@ struct scmi_msg {
28 * buffer for the rx path as we use for the tx path.
29 * @done: command message transmit completion event
30 * @async_done: pointer to delayed response message received event completion
31 + * @extra_data: Transport-specific private data pointer
35 @@ -139,6 +140,7 @@ struct scmi_xfer {
37 struct completion done;
38 struct completion *async_done;
42 void scmi_xfer_put(const struct scmi_handle *h, struct scmi_xfer *xfer);