mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 22:14:03 +02:00
hwtracing: hisi_ptt: Remove unnecessary trace buffer zeroing in trace_start()
hisi_ptt_trace_start() clears all four trace buffers before enabling tracing. This is unnecessary. On trace stop, hisi_ptt_update_aux() copies only the number of bytes reported in HISI_PTT_TRACE_WR_STS. On buffer-full interrupts, it copies a full completed buffer. In both cases the driver only consumes data written by hardware. Remove the buffer clearing from the trace start path. Signed-off-by: Sanman Pradhan <psanman@juniper.net> Reviewed-by: Yicong Yang <yangyccccc@gmail.com> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20260414172451.14331-3-sanman.pradhan@hpe.com
This commit is contained in:
parent
75d42d9903
commit
856119909d
|
|
@ -194,7 +194,6 @@ static int hisi_ptt_trace_start(struct hisi_ptt *hisi_ptt)
|
|||
{
|
||||
struct hisi_ptt_trace_ctrl *ctrl = &hisi_ptt->trace_ctrl;
|
||||
u32 val;
|
||||
int i;
|
||||
|
||||
/* Check device idle before start trace */
|
||||
if (!hisi_ptt_wait_trace_hw_idle(hisi_ptt)) {
|
||||
|
|
@ -222,10 +221,6 @@ static int hisi_ptt_trace_start(struct hisi_ptt *hisi_ptt)
|
|||
/* Reset the index of current buffer */
|
||||
hisi_ptt->trace_ctrl.buf_index = 0;
|
||||
|
||||
/* Zero the trace buffers */
|
||||
for (i = 0; i < HISI_PTT_TRACE_BUF_CNT; i++)
|
||||
memset(ctrl->trace_buf[i].addr, 0, HISI_PTT_TRACE_BUF_SIZE);
|
||||
|
||||
/* Clear the interrupt status */
|
||||
writel(HISI_PTT_TRACE_INT_STAT_MASK, hisi_ptt->iobase + HISI_PTT_TRACE_INT_STAT);
|
||||
writel(0, hisi_ptt->iobase + HISI_PTT_TRACE_INT_MASK);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user