Re: [PATCH] bus: ti-sysc: Fix external abort for am335x pruss probe

From: Suman Anna
Date: Thu Sep 16 2021 - 13:03:11 EST


Hi Tony,

On 9/15/21 1:50 AM, Tony Lindgren wrote:
> Starting with v5.15-rc1, I'm now seeing am335x beaglebone black produce
> the following error on pruss probe:
>
> Unhandled fault: external abort on non-linefetch (0x1008) at 0xe0326000
>
> This seems to have started with the enabling of pruss for am335x in the
> dts files. Adding a read-back after write to the sysconfig register fixes
> the issue for me.

Let me take a look at this during the weekend. I did verify the AM335x PRUSS
when I posted the dts patches on 5.14-rc. You should be able to check as well
from your staging branch with PRUSS patches.

regards
Suman

>
> Cc: Suman Anna <s-anna@xxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
> ---
> drivers/bus/ti-sysc.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
> --- a/drivers/bus/ti-sysc.c
> +++ b/drivers/bus/ti-sysc.c
> @@ -2037,6 +2037,9 @@ static int sysc_reset(struct sysc *ddata)
> sysc_val = sysc_read_sysconfig(ddata);
> sysc_val |= sysc_mask;
> sysc_write(ddata, sysc_offset, sysc_val);
> +
> + /* Flush posted write */
> + sysc_read_sysconfig(ddata);
> }
>
> if (ddata->cfg.srst_udelay)
>