Commit bad0d73b authored by Sudeep Holla's avatar Sudeep Holla

firmware: arm_scmi: Use signed integer to report transfer status

Currently the trace event 'scmi_xfer_end' reports the status of the
transfer using the unsigned status field read from the firmware which
may not be easy to interpret. It may also miss to emit any timeouts
that happen in the driver resulting in emitting garbage in the status
field in those scenarios.

Let us use signed integer so that error values are emitted out after
they are mapped from firmware error formats to standard linux error
codes. While at this, also include any timeouts in the driver itself.

Link: https://lore.kernel.org/r/20200609134503.55860-1-sudeep.holla@arm.com
Cc: Jim Quinlan <james.quinlan@broadcom.com>
Cc: Lukasz Luba <lukasz.luba@arm.com>
Reviewed-by: default avatarLukasz Luba <lukasz.luba@arm.com>
Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
parent b3a9e3b9
...@@ -392,8 +392,7 @@ int scmi_do_xfer(const struct scmi_handle *handle, struct scmi_xfer *xfer) ...@@ -392,8 +392,7 @@ int scmi_do_xfer(const struct scmi_handle *handle, struct scmi_xfer *xfer)
info->desc->ops->mark_txdone(cinfo, ret); info->desc->ops->mark_txdone(cinfo, ret);
trace_scmi_xfer_end(xfer->transfer_id, xfer->hdr.id, trace_scmi_xfer_end(xfer->transfer_id, xfer->hdr.id,
xfer->hdr.protocol_id, xfer->hdr.seq, xfer->hdr.protocol_id, xfer->hdr.seq, ret);
xfer->hdr.status);
return ret; return ret;
} }
......
...@@ -35,7 +35,7 @@ TRACE_EVENT(scmi_xfer_begin, ...@@ -35,7 +35,7 @@ TRACE_EVENT(scmi_xfer_begin,
TRACE_EVENT(scmi_xfer_end, TRACE_EVENT(scmi_xfer_end,
TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq, TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
u32 status), int status),
TP_ARGS(transfer_id, msg_id, protocol_id, seq, status), TP_ARGS(transfer_id, msg_id, protocol_id, seq, status),
TP_STRUCT__entry( TP_STRUCT__entry(
...@@ -43,7 +43,7 @@ TRACE_EVENT(scmi_xfer_end, ...@@ -43,7 +43,7 @@ TRACE_EVENT(scmi_xfer_end,
__field(u8, msg_id) __field(u8, msg_id)
__field(u8, protocol_id) __field(u8, protocol_id)
__field(u16, seq) __field(u16, seq)
__field(u32, status) __field(int, status)
), ),
TP_fast_assign( TP_fast_assign(
...@@ -54,7 +54,7 @@ TRACE_EVENT(scmi_xfer_end, ...@@ -54,7 +54,7 @@ TRACE_EVENT(scmi_xfer_end,
__entry->status = status; __entry->status = status;
), ),
TP_printk("transfer_id=%d msg_id=%u protocol_id=%u seq=%u status=%u", TP_printk("transfer_id=%d msg_id=%u protocol_id=%u seq=%u status=%d",
__entry->transfer_id, __entry->msg_id, __entry->protocol_id, __entry->transfer_id, __entry->msg_id, __entry->protocol_id,
__entry->seq, __entry->status) __entry->seq, __entry->status)
); );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment