mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
firmware: arm_scmi: Use new SCMI full message tracing
Add full message tracing for all transmitted and successfully received SCMI commands, replies and notifications. Link: https://lore.kernel.org/r/20220630173135.2086631-3-cristian.marussi@arm.com Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
This commit is contained in:
parent
2bd0467074
commit
b60e088682
1 changed files with 21 additions and 0 deletions
|
@ -660,6 +660,11 @@ static void scmi_handle_notification(struct scmi_chan_info *cinfo,
|
|||
smp_store_mb(xfer->priv, priv);
|
||||
info->desc->ops->fetch_notification(cinfo, info->desc->max_msg_size,
|
||||
xfer);
|
||||
|
||||
trace_scmi_msg_dump(xfer->hdr.protocol_id, xfer->hdr.id, "NOTI",
|
||||
xfer->hdr.seq, xfer->hdr.status,
|
||||
xfer->rx.buf, xfer->rx.len);
|
||||
|
||||
scmi_notify(cinfo->handle, xfer->hdr.protocol_id,
|
||||
xfer->hdr.id, xfer->rx.buf, xfer->rx.len, ts);
|
||||
|
||||
|
@ -694,6 +699,12 @@ static void scmi_handle_response(struct scmi_chan_info *cinfo,
|
|||
smp_store_mb(xfer->priv, priv);
|
||||
info->desc->ops->fetch_response(cinfo, xfer);
|
||||
|
||||
trace_scmi_msg_dump(xfer->hdr.protocol_id, xfer->hdr.id,
|
||||
xfer->hdr.type == MSG_TYPE_DELAYED_RESP ?
|
||||
"DLYD" : "RESP",
|
||||
xfer->hdr.seq, xfer->hdr.status,
|
||||
xfer->rx.buf, xfer->rx.len);
|
||||
|
||||
trace_scmi_rx_done(xfer->transfer_id, xfer->hdr.id,
|
||||
xfer->hdr.protocol_id, xfer->hdr.seq,
|
||||
xfer->hdr.type);
|
||||
|
@ -827,6 +838,12 @@ static int scmi_wait_for_message_response(struct scmi_chan_info *cinfo,
|
|||
xfer->state = SCMI_XFER_RESP_OK;
|
||||
}
|
||||
spin_unlock_irqrestore(&xfer->lock, flags);
|
||||
|
||||
/* Trace polled replies. */
|
||||
trace_scmi_msg_dump(xfer->hdr.protocol_id, xfer->hdr.id,
|
||||
"RESP",
|
||||
xfer->hdr.seq, xfer->hdr.status,
|
||||
xfer->rx.buf, xfer->rx.len);
|
||||
}
|
||||
} else {
|
||||
/* And we wait for the response. */
|
||||
|
@ -903,6 +920,10 @@ static int do_xfer(const struct scmi_protocol_handle *ph,
|
|||
return ret;
|
||||
}
|
||||
|
||||
trace_scmi_msg_dump(xfer->hdr.protocol_id, xfer->hdr.id, "CMND",
|
||||
xfer->hdr.seq, xfer->hdr.status,
|
||||
xfer->tx.buf, xfer->tx.len);
|
||||
|
||||
ret = scmi_wait_for_message_response(cinfo, xfer);
|
||||
if (!ret && xfer->hdr.status)
|
||||
ret = scmi_to_linux_errno(xfer->hdr.status);
|
||||
|
|
Loading…
Reference in a new issue