[PATCH] [v1] coresight: funnel: inport schedule by priority can not take work
Chao Xu
xuchao066 at 163.com
Tue Oct 27 08:17:33 PDT 2026
在 2026/10/27 16:41, Leo Yan 写道:
> Hi,
>
> On Sun, Oct 25, 2026 at 09:13:07PM +0800, Chao Xu wrote:
>> Before enable funnel, priority must be set. Changing the port
>> priorities in real time is not supported.
>> If the priority control register is written when one or more of ports
>> are enable, then the write is silently rejected.
> Could you cite the relevant documentation in commit log?
>
> The CoreSight SoC-600 TRM, section 9.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.
v2 patch add.
>
>> Signed-off-by: Chao Xu <xuchao066 at 163.com>
>> ---
>> drivers/hwtracing/coresight/coresight-funnel.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/hwtracing/coresight/coresight-funnel.c b/drivers/hwtracing/coresight/coresight-funnel.c
>> index af40814ce560..17f985798d7f 100644
>> --- a/drivers/hwtracing/coresight/coresight-funnel.c
>> +++ b/drivers/hwtracing/coresight/coresight-funnel.c
>> @@ -66,8 +66,8 @@ static int dynamic_funnel_enable_hw(struct funnel_drvdata *drvdata, int port)
>> 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);
>> + writel_relaxed(functl, drvdata->base + FUNNEL_FUNCTL);
> Please move the priority write into the first port branch:
>
> /* Claim the device only when we enable the first slave */
> if (!(functl & FUNNEL_ENSx_MASK)) {
> 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);
> }
here is more better then v1 patch, v2 patch will be sent.
>
> Thanks,
> Leo
More information about the linux-arm-kernel
mailing list