[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGETcx_Y-9WBeRwf22v3NSuY8PGpPrTxtx_uBqe_Q7rD6mEQMQ@mail.gmail.com>
Date: Fri, 1 Jul 2022 12:13:16 -0700
From: Saravana Kannan <saravanak@...gle.com>
To: Sudeep Holla <sudeep.holla@....com>
Cc: Tony Lindgren <tony@...mide.com>, Rob Herring <robh@...nel.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Kevin Hilman <khilman@...nel.org>,
Ulf Hansson <ulf.hansson@...aro.org>,
Len Brown <len.brown@...el.com>, Pavel Machek <pavel@....cz>,
Joerg Roedel <joro@...tes.org>, Will Deacon <will@...nel.org>,
Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Linus Walleij <linus.walleij@...aro.org>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
David Ahern <dsahern@...nel.org>,
Android Kernel Team <kernel-team@...roid.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"open list:THERMAL" <linux-pm@...r.kernel.org>,
Linux IOMMU <iommu@...ts.linux-foundation.org>,
netdev <netdev@...r.kernel.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
Alexander Stein <alexander.stein@...tq-group.com>
Subject: Re: [PATCH v2 1/9] PM: domains: Delete usage of driver_deferred_probe_check_state()
On Fri, Jul 1, 2022 at 8:08 AM Sudeep Holla <sudeep.holla@....com> wrote:
>
> Hi, Saravana,
>
> On Fri, Jul 01, 2022 at 01:26:12AM -0700, Saravana Kannan wrote:
>
> [...]
>
> > Can you check if this hack helps? If so, then I can think about
> > whether we can pick it up without breaking everything else. Copy-paste
> > tab mess up warning.
>
> Sorry for jumping in late and not even sure if this is right thread.
> I have not bisected anything yet, but I am seeing issues on my Juno R2
> with SCMI enabled power domains and Coresight AMBA devices.
>
> OF: amba_device_add() failed (-19) for /etf@...10000
> OF: amba_device_add() failed (-19) for /tpiu@...30000
> OF: amba_device_add() failed (-19) for /funnel@...40000
> OF: amba_device_add() failed (-19) for /etr@...70000
> OF: amba_device_add() failed (-19) for /stm@...00000
> OF: amba_device_add() failed (-19) for /replicator@...20000
> OF: amba_device_add() failed (-19) for /cpu-debug@...10000
> OF: amba_device_add() failed (-19) for /etm@...40000
> OF: amba_device_add() failed (-19) for /cti@...20000
> OF: amba_device_add() failed (-19) for /funnel@...c0000
> OF: amba_device_add() failed (-19) for /cpu-debug@...10000
> OF: amba_device_add() failed (-19) for /etm@...40000
> OF: amba_device_add() failed (-19) for /cti@...20000
> OF: amba_device_add() failed (-19) for /cpu-debug@...10000
> OF: amba_device_add() failed (-19) for /etm@...40000
> OF: amba_device_add() failed (-19) for /cti@...20000
> OF: amba_device_add() failed (-19) for /funnel@...c0000
> OF: amba_device_add() failed (-19) for /cpu-debug@...10000
> OF: amba_device_add() failed (-19) for /etm@...40000
> OF: amba_device_add() failed (-19) for /cti@...20000
> OF: amba_device_add() failed (-19) for /cpu-debug@...10000
> OF: amba_device_add() failed (-19) for /etm@...40000
> OF: amba_device_add() failed (-19) for /cti@...20000
> OF: amba_device_add() failed (-19) for /cpu-debug@...10000
> OF: amba_device_add() failed (-19) for /etm@...40000
> OF: amba_device_add() failed (-19) for /cti@...20000
> OF: amba_device_add() failed (-19) for /cti@...20000
> OF: amba_device_add() failed (-19) for /cti@...10000
> OF: amba_device_add() failed (-19) for /funnel@...30000
> OF: amba_device_add() failed (-19) for /etf@...40000
> OF: amba_device_add() failed (-19) for /funnel@...50000
> OF: amba_device_add() failed (-19) for /cti@...60000
>
> These are working fine with deferred probe in the mainline.
> I tried the hack you have suggested here(rather Tony's version),
Thanks for trying that.
> also
> tried with fw_devlink=0 and fw_devlink=1
0 and 1 aren't valid input to fw_devlink. But yeah, I don't expect
disabling it to make anything better.
> && fw_devlink.strict=0
> No change in the behaviour.
>
> The DTS are in arch/arm64/boot/dts/arm/juno-*-scmi.dts and there
> coresight devices are mostly in juno-cs-r1r2.dtsi
Thanks
> Let me know if there is anything obvious or you want me to bisect which
> means I need more time. I can do that next week.
I'll let you know once I poke at the DTS. We need to figure out why
fw_devlink wasn't blocking these from getting to the error (same as in
Tony's case). But since these are amba devices, I think I have some
guesses.
This is an old series that had some issues in some cases and I haven't
gotten around to looking at it. You can give that a shot if you can
apply it to a recent tree.
https://lore.kernel.org/lkml/20210304195101.3843496-1-saravanak@google.com/
After looking at that old patch again, I think I know what's going on.
For normal devices, the pm domain attach happens AFTER the device is
added and fw_devlink has had a chance to set up device links. And if
the suppliers aren't ready, really_probe() won't get as far as
dev_pm_domain_attach(). But for amba, the clock and pm domain
suppliers are "grabbed" before adding the device.
So with that old patch + always returning -EPROBE_DEFER in
amba_device_add() if amba_read_periphid() fails should fix your issue.
-Saravana
Powered by blists - more mailing lists