Re: [PATCH] coresight: tmc-etr: Don't fail probe when non-secure access is disabled

From: Yabin Cui
Date: Tue Aug 29 2023 - 17:19:32 EST


> How can this be enabled ? Why not enable it before probing the ETR ?
How can a user know if this has been done or not ?

Pixel devices (like Pixel 6, 7) support enabling some debugging features
(including granting non-secure access to ETM/ETR) even on devices with
secure boot. It is only used internally and has strict requirements,
needing to connect to a server to verify identification after booting.
So it can't be established when probing ETR at device boot time.


On Sun, Aug 27, 2023 at 2:37 PM Suzuki K Poulose <suzuki.poulose@xxxxxxx> wrote:
>
> On 26/08/2023 00:39, Yabin Cui wrote:
> > Because the non-secure access can be enabled later on some devices.
>
> How can this be enabled ? Why not enable it before probing the ETR ?
> How can a user know if this has been done or not ? It is asking for
> trouble to continue without this.
>
> Suzuki
>
> >
> > Signed-off-by: Yabin Cui <yabinc@xxxxxxxxxx>
> > ---
> > drivers/hwtracing/coresight/coresight-tmc-core.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/hwtracing/coresight/coresight-tmc-core.c b/drivers/hwtracing/coresight/coresight-tmc-core.c
> > index c106d142e632..5ebfd12b627b 100644
> > --- a/drivers/hwtracing/coresight/coresight-tmc-core.c
> > +++ b/drivers/hwtracing/coresight/coresight-tmc-core.c
> > @@ -370,7 +370,7 @@ static int tmc_etr_setup_caps(struct device *parent, u32 devid, void *dev_caps)
> > struct tmc_drvdata *drvdata = dev_get_drvdata(parent);
> >
> > if (!tmc_etr_has_non_secure_access(drvdata))
> > - return -EACCES;
> > + dev_warn(parent, "TMC ETR doesn't have non-secure access\n");
> >
> > /* Set the unadvertised capabilities */
> > tmc_etr_init_caps(drvdata, (u32)(unsigned long)dev_caps);
>