mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
soc: qcom: rpmh-rsc: Add tracing for channel switch and drv enable
Log in ftrace for channel switch and drv enable. Change-Id: Icdcaafc67d5f24ffe55a03ebf1d850136dc7a55b Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
This commit is contained in:
parent
dc365aa135
commit
437dde2b06
|
|
@ -1157,7 +1157,7 @@ int rpmh_rsc_mode_solver_set(struct rsc_drv *drv, bool enable)
|
|||
int rpmh_rsc_is_tcs_completed(struct rsc_drv *drv, int ch)
|
||||
{
|
||||
u32 sts;
|
||||
int retry = 10;
|
||||
int retry = 10, ret = 0;
|
||||
|
||||
do {
|
||||
sts = readl_relaxed(drv->base + drv->regs[RSC_DRV_CHN_TCS_COMPLETE]);
|
||||
|
|
@ -1170,12 +1170,17 @@ int rpmh_rsc_is_tcs_completed(struct rsc_drv *drv, int ch)
|
|||
retry--;
|
||||
} while (!sts && retry);
|
||||
|
||||
if (!retry)
|
||||
return -EBUSY;
|
||||
if (!retry) {
|
||||
ret = -EBUSY;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
writel_relaxed(CH_CLEAR_STATUS,
|
||||
drv->base + drv->regs[RSC_DRV_CHN_TCS_COMPLETE]);
|
||||
|
||||
exit:
|
||||
trace_rpmh_switch_channel(drv, ch, ret);
|
||||
ipc_log_string(drv->ipc_log_ctx, "channel switched to: %d ret: %d", ch, ret);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -1249,6 +1254,8 @@ int rpmh_rsc_drv_enable(struct rsc_drv *drv, bool enable)
|
|||
}
|
||||
exit:
|
||||
spin_unlock(&drv->lock);
|
||||
trace_rpmh_drv_enable(drv, enable, ret);
|
||||
ipc_log_string(drv->ipc_log_ctx, "drv enable: %d ret: %d", enable, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -88,6 +88,50 @@ TRACE_EVENT(rpmh_solver_set,
|
|||
__get_str(name), __entry->set)
|
||||
);
|
||||
|
||||
TRACE_EVENT(rpmh_switch_channel,
|
||||
|
||||
TP_PROTO(struct rsc_drv *d, int ch, int ret),
|
||||
|
||||
TP_ARGS(d, ch, ret),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__string(name, d->name)
|
||||
__field(int, ch)
|
||||
__field(int, ret)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(name, d->name);
|
||||
__entry->ch = ch;
|
||||
__entry->ret = ret;
|
||||
),
|
||||
|
||||
TP_printk("%s: channel switched to: %d ret: %d",
|
||||
__get_str(name), __entry->ch, __entry->ret)
|
||||
);
|
||||
|
||||
TRACE_EVENT(rpmh_drv_enable,
|
||||
|
||||
TP_PROTO(struct rsc_drv *d, bool enable, int ret),
|
||||
|
||||
TP_ARGS(d, enable, ret),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__string(name, d->name)
|
||||
__field(bool, enable)
|
||||
__field(int, ret)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(name, d->name);
|
||||
__entry->enable = enable;
|
||||
__entry->ret = ret;
|
||||
),
|
||||
|
||||
TP_printk("%s: drv enable: %d ret: %d",
|
||||
__get_str(name), __entry->enable, __entry->ret)
|
||||
);
|
||||
|
||||
#endif /* _TRACE_RPMH_H */
|
||||
|
||||
#undef TRACE_INCLUDE_PATH
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user