[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMi1Hd3M--+V6jPTV=psYGpOqi3UeQBs_FHqOg=oUf1hH-EU4w@mail.gmail.com>
Date: Fri, 22 Oct 2021 22:29:24 +0530
From: Amit Pundir <amit.pundir@...aro.org>
To: Saravana Kannan <saravanak@...gle.com>
Cc: Russell King <linux@...linux.org.uk>,
Neil Armstrong <narmstrong@...libre.com>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Magnus Damm <magnus.damm@...il.com>,
Tony Lindgren <tony@...mide.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Damien Le Moal <damien.lemoal@....com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Ulf Hansson <ulf.hansson@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Android Kernel Team <kernel-team@...roid.com>,
linux-arm-kernel@...ts.infradead.org,
lkml <linux-kernel@...r.kernel.org>, linux-oxnas@...ups.io,
linux-renesas-soc@...r.kernel.org, linux-omap@...r.kernel.org,
linux-riscv@...ts.infradead.org,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
John Stultz <john.stultz@...aro.org>
Subject: Re: [PATCH v4 2/2] drivers: bus: Delete CONFIG_SIMPLE_PM_BUS
On Fri, 22 Oct 2021 at 05:13, Saravana Kannan <saravanak@...gle.com> wrote:
>
> On Thu, Oct 21, 2021 at 4:21 AM Amit Pundir <amit.pundir@...aro.org> wrote:
> >
> > Hi Saravana,
> >
> > This patch broke v5.15-rc6 on RB5 (sm8250 | qcom/qrb5165-rb5.dts).
> > I can't boot past this point https://www.irccloud.com/pastebin/raw/Nv6ZwHmW.
>
> Amit top posting? How did that happen? :)
>
> The fact you are seeing this issue is super strange though. The driver
> literally does nothing other than allowing some sync_state() callbacks
> to happen. I also grepped for the occurence of "simple-bus" in
> arch/arm64/boot/dts/qcom/ and the only instance for 8250 is for the
> soc node.
>
> The only thing I can think of is that without my patch some
> sync_state() callbacks weren't getting called and maybe it was masking
> some other issue.
>
> Can you try to boot with this log (see log patch below) and see if the
> device hangs right after a sync_state() callback? Also, looking at the
> different sync_state() implementations in upstream, I'm guessing one
> of the devices isn't voting for interconnect bandwidth when it should
> have.
>
> Another thing you could do is boot without the simple-bus changes and
> then look for all instances of "state_synced" in /sys/devices and then
> see if any of them has the value "0" after boot up is complete.
Turned out RB5 is not even reaching up to
device_links_flush_sync_list() and seem to be stuck somewhere in
device_links_driver_bound(). So I added more print logs to narrow down
to any specific lock state but those additional prints seem to have
added enough delay to unblock that particular driver (Serial:
8250/16550 driver if I understood the logs correctly) and I eventually
booted to UI.
On the booted RB5 *with* and *without* the simple-bus changes, I see 4
instances of "0" state_synced nodes at:
/sys/devices/platform/soc@...100000.interconnect/state_synced
/sys/devices/platform/soc@...500000.interconnect/state_synced
/sys/devices/platform/soc@...740000.interconnect/state_synced
/sys/devices/platform/soc@...63d000.interconnect/state_synced
Regards,
Amit Pundir
>
> -Saravana
>
> -- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -1099,6 +1099,7 @@ static void device_links_flush_sync_list(struct
> list_head *list,
> if (dev != dont_lock_dev)
> device_lock(dev);
>
> + dev_info(dev, "Calling sync_state()\n");
> if (dev->bus->sync_state)
> dev->bus->sync_state(dev);
> else if (dev->driver && dev->driver->sync_state)
Powered by blists - more mailing lists