* [PATCH] [v2] coresight: funnel: inport schedule by priority can not take work
@ 2026-10-27 15:14 Chao Xu
2026-11-07 6:56 ` Chao Xu
0 siblings, 1 reply; 2+ messages in thread
From: Chao Xu @ 2026-10-27 15:14 UTC (permalink / raw)
To: suzuki.poulose, mike.leach, james.clark, leo.yan, alexander.shishkin
Cc: coresight, linux-arm-kernel, linux-kernel, Chao Xu
The CoreSight SoC-600 TRM, section 10.11.2, PRIORITYCONTROL, a funnel
rejects priority register writes whenever any port is enabled. The
current sequence therefore prevent the configured priorities from
taking effect. Write the priority register before enabling the
first port.
Signed-off-by: Chao Xu <xuchao066@163.com>
---
drivers/hwtracing/coresight/coresight-funnel.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/hwtracing/coresight/coresight-funnel.c b/drivers/hwtracing/coresight/coresight-funnel.c
index 0abc11f0690c..500ff72a83c8 100644
--- a/drivers/hwtracing/coresight/coresight-funnel.c
+++ b/drivers/hwtracing/coresight/coresight-funnel.c
@@ -62,13 +62,15 @@ static int dynamic_funnel_enable_hw(struct funnel_drvdata *drvdata, int port)
rc = coresight_claim_device_unlocked(csdev);
if (rc)
goto done;
+
+ /* Update priorities while all ports are disabled */
+ writel_relaxed(drvdata->priority, drvdata->base + FUNNEL_PRICTL);
}
functl &= ~FUNNEL_HOLDTIME_MASK;
functl |= FUNNEL_HOLDTIME;
functl |= (1 << port);
writel_relaxed(functl, drvdata->base + FUNNEL_FUNCTL);
- writel_relaxed(drvdata->priority, drvdata->base + FUNNEL_PRICTL);
done:
CS_LOCK(drvdata->base);
return rc;
--
2.43.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] [v2] coresight: funnel: inport schedule by priority can not take work
2026-10-27 15:14 [PATCH] [v2] coresight: funnel: inport schedule by priority can not take work Chao Xu
@ 2026-11-07 6:56 ` Chao Xu
0 siblings, 0 replies; 2+ messages in thread
From: Chao Xu @ 2026-11-07 6:56 UTC (permalink / raw)
To: suzuki.poulose, mike.leach, james.clark, leo.yan, alexander.shishkin
Cc: coresight, linux-arm-kernel, linux-kernel
在 2026/10/27 23:14, Chao Xu 写道:
> The CoreSight SoC-600 TRM, section 10.11.2, PRIORITYCONTROL, a funnel
> rejects priority register writes whenever any port is enabled. The
> current sequence therefore prevent the configured priorities from
> taking effect. Write the priority register before enabling the
> first port.
>
> Signed-off-by: Chao Xu <xuchao066@163.com>
> ---
> drivers/hwtracing/coresight/coresight-funnel.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/hwtracing/coresight/coresight-funnel.c b/drivers/hwtracing/coresight/coresight-funnel.c
> index 0abc11f0690c..500ff72a83c8 100644
> --- a/drivers/hwtracing/coresight/coresight-funnel.c
> +++ b/drivers/hwtracing/coresight/coresight-funnel.c
> @@ -62,13 +62,15 @@ static int dynamic_funnel_enable_hw(struct funnel_drvdata *drvdata, int port)
> rc = coresight_claim_device_unlocked(csdev);
> if (rc)
> goto done;
> +
> + /* Update priorities while all ports are disabled */
> + writel_relaxed(drvdata->priority, drvdata->base + FUNNEL_PRICTL);
> }
>
> functl &= ~FUNNEL_HOLDTIME_MASK;
> functl |= FUNNEL_HOLDTIME;
> functl |= (1 << port);
> writel_relaxed(functl, drvdata->base + FUNNEL_FUNCTL);
> - writel_relaxed(drvdata->priority, drvdata->base + FUNNEL_PRICTL);
> done:
> CS_LOCK(drvdata->base);
> return rc;
Hi Leo, Suzuki,
Gentle ping on v2 of this patch, sent on Oct 27.
In v1 you suggested moving the priority write into the first-port
branch [1]; v2 implements exactly that, and adds the TRM reference
you asked for (SoC-600 TRM, PRIORITYCONTROL). It still applies
cleanly on top of the latest coresight/next.
[1] https://lore.kernel.org/lkml/20261027084133.GA766279@e132581.arm.com/
Thanks,
Chao
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-07 6:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-27 15:14 [PATCH] [v2] coresight: funnel: inport schedule by priority can not take work Chao Xu
2026-11-07 6:56 ` Chao Xu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®