From: Tony Lindgren <tony@atomide.com>
To: Saravana Kannan <saravanak@google.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Kevin Hilman <khilman@kernel.org>,
Ulf Hansson <ulf.hansson@linaro.org>,
Len Brown <len.brown@intel.com>, Pavel Machek <pavel@ucw.cz>,
Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Linus Walleij <linus.walleij@linaro.org>,
Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
David Ahern <dsahern@kernel.org>,
kernel-team@android.com, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org, iommu@lists.linux-foundation.org,
netdev@vger.kernel.org, linux-gpio@vger.kernel.org,
Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [PATCH v2 1/9] PM: domains: Delete usage of driver_deferred_probe_check_state()
Date: Thu, 23 Jun 2022 10:01:48 +0300 [thread overview]
Message-ID: <YrQP3OZbe8aCQxKU@atomide.com> (raw)
In-Reply-To: <CAGETcx_11wO-HkZ2QsBF8o1+L9L3Xe1QBQ_GzegwozxAx1i0jg@mail.gmail.com>
* Saravana Kannan <saravanak@google.com> [220622 19:05]:
> On Tue, Jun 21, 2022 at 9:59 PM Tony Lindgren <tony@atomide.com> wrote:
> >
> > Hi,
> >
> > * Saravana Kannan <saravanak@google.com> [220621 19:29]:
> > > On Tue, Jun 21, 2022 at 12:28 AM Tony Lindgren <tony@atomide.com> wrote:
> > > >
> > > > Hi,
> > > >
> > > > * Saravana Kannan <saravanak@google.com> [700101 02:00]:
> > > > > Now that fw_devlink=on by default and fw_devlink supports
> > > > > "power-domains" property, the execution will never get to the point
> > > > > where driver_deferred_probe_check_state() is called before the supplier
> > > > > has probed successfully or before deferred probe timeout has expired.
> > > > >
> > > > > So, delete the call and replace it with -ENODEV.
> > > >
> > > > Looks like this causes omaps to not boot in Linux next.
> > >
> > > Can you please point me to an example DTS I could use for debugging
> > > this? I'm assuming you are leaving fw_devlink=on and not turning it
> > > off or putting it in permissive mode.
> >
> > Sure, this seems to happen at least with simple-pm-bus as the top
> > level interconnect with a configured power-domains property:
> >
> > $ git grep -A10 "ocp {" arch/arm/boot/dts/*.dtsi | grep -B3 -A4 simple-pm-bus
>
> Thanks for the example. I generally start looking from dts (not dtsi)
> files in case there are some DT property override/additions after the
> dtsi files are included in the dts file. But I'll assume for now
> that's not the case. If there's a specific dts file for a board I can
> look from that'd be helpful to rule out those kinds of issues.
>
> For now, I looked at arch/arm/boot/dts/omap4.dtsi.
OK it should be very similar for all the affected SoCs.
> > This issue is no directly related fw_devlink. It is a side effect of
> > removing driver_deferred_probe_check_state(). We no longer return
> > -EPROBE_DEFER at the end of driver_deferred_probe_check_state().
>
> Yes, I understand the issue. But driver_deferred_probe_check_state()
> was deleted because fw_devlink=on should have short circuited the
> probe attempt with an -EPROBE_DEFER before reaching the bus/driver
> probe function and hitting this -ENOENT failure. That's why I was
> asking the other questions.
OK. So where is the -EPROBE_DEFER supposed to happen without
driver_deferred_probe_check_state() then?
> > > > On platform_probe() genpd_get_from_provider() returns
> > > > -ENOENT.
> > >
> > > This error is with the series I assume?
> >
> > On the first probe genpd_get_from_provider() will return -ENOENT in
> > both cases. The list is empty on the first probe and there are no
> > genpd providers at this point.
> >
> > Earlier with driver_deferred_probe_check_state(), the initial -ENOENT
> > ends up getting changed to -EPROBE_DEFER at the end of
> > driver_deferred_probe_check_state(), we are now missing that.
>
> Right, I was aware -ENOENT would be returned if we got this far. But
> the point of this series is that you shouldn't have gotten that far
> before your pm domain device is ready. Hence my questions from the
> earlier reply.
OK
> Can I get answers to rest of my questions in the first reply please?
> That should help us figure out why fw_devlink let us get this far.
> Summarize them here to make it easy:
> * Are you running with fw_devlink=on?
Yes with the default with no specific kernel params so looks like
FW_DEVLINK_FLAGS_ON.
> * Is the"ti,omap4-prm-inst"/"ti,omap-prm-inst" built-in in this case?
Yes
> * If it's not built-in, can you please try deferred_probe_timeout=0
> and deferred_probe_timeout=30 and see if either one of them help?
It's built in so I did not try these.
> * Can I get the output of "ls -d supplier:*" and "cat
> supplier:*/status" output from the sysfs dir for the ocp device
> without this series where it boots properly.
Hmm so I'm not seeing any supplier for the top level ocp device in
the booting case without your patches. I see the suppliers for the
ocp child device instances only.
Without your patches I see simple-pm-bus probe initially with
EPROBE_DEFER like I described earlier, and then simple-pm-bus probes
on the second try.
Regards,
Tony
WARNING: multiple messages have this Message-ID (diff)
From: Tony Lindgren <tony@atomide.com>
To: Saravana Kannan <saravanak@google.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
Ulf Hansson <ulf.hansson@linaro.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Linus Walleij <linus.walleij@linaro.org>,
Eric Dumazet <edumazet@google.com>, Pavel Machek <pavel@ucw.cz>,
Will Deacon <will@kernel.org>, Kevin Hilman <khilman@kernel.org>,
Russell King <linux@armlinux.org.uk>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
kernel-team@android.com, Len Brown <len.brown@intel.com>,
linux-pm@vger.kernel.org, linux-gpio@vger.kernel.org,
Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
David Ahern <dsahern@kernel.org>,
linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Heiner Kallweit <hkallweit1@gmail.com>
Subject: Re: [PATCH v2 1/9] PM: domains: Delete usage of driver_deferred_probe_check_state()
Date: Thu, 23 Jun 2022 10:01:48 +0300 [thread overview]
Message-ID: <YrQP3OZbe8aCQxKU@atomide.com> (raw)
In-Reply-To: <CAGETcx_11wO-HkZ2QsBF8o1+L9L3Xe1QBQ_GzegwozxAx1i0jg@mail.gmail.com>
* Saravana Kannan <saravanak@google.com> [220622 19:05]:
> On Tue, Jun 21, 2022 at 9:59 PM Tony Lindgren <tony@atomide.com> wrote:
> >
> > Hi,
> >
> > * Saravana Kannan <saravanak@google.com> [220621 19:29]:
> > > On Tue, Jun 21, 2022 at 12:28 AM Tony Lindgren <tony@atomide.com> wrote:
> > > >
> > > > Hi,
> > > >
> > > > * Saravana Kannan <saravanak@google.com> [700101 02:00]:
> > > > > Now that fw_devlink=on by default and fw_devlink supports
> > > > > "power-domains" property, the execution will never get to the point
> > > > > where driver_deferred_probe_check_state() is called before the supplier
> > > > > has probed successfully or before deferred probe timeout has expired.
> > > > >
> > > > > So, delete the call and replace it with -ENODEV.
> > > >
> > > > Looks like this causes omaps to not boot in Linux next.
> > >
> > > Can you please point me to an example DTS I could use for debugging
> > > this? I'm assuming you are leaving fw_devlink=on and not turning it
> > > off or putting it in permissive mode.
> >
> > Sure, this seems to happen at least with simple-pm-bus as the top
> > level interconnect with a configured power-domains property:
> >
> > $ git grep -A10 "ocp {" arch/arm/boot/dts/*.dtsi | grep -B3 -A4 simple-pm-bus
>
> Thanks for the example. I generally start looking from dts (not dtsi)
> files in case there are some DT property override/additions after the
> dtsi files are included in the dts file. But I'll assume for now
> that's not the case. If there's a specific dts file for a board I can
> look from that'd be helpful to rule out those kinds of issues.
>
> For now, I looked at arch/arm/boot/dts/omap4.dtsi.
OK it should be very similar for all the affected SoCs.
> > This issue is no directly related fw_devlink. It is a side effect of
> > removing driver_deferred_probe_check_state(). We no longer return
> > -EPROBE_DEFER at the end of driver_deferred_probe_check_state().
>
> Yes, I understand the issue. But driver_deferred_probe_check_state()
> was deleted because fw_devlink=on should have short circuited the
> probe attempt with an -EPROBE_DEFER before reaching the bus/driver
> probe function and hitting this -ENOENT failure. That's why I was
> asking the other questions.
OK. So where is the -EPROBE_DEFER supposed to happen without
driver_deferred_probe_check_state() then?
> > > > On platform_probe() genpd_get_from_provider() returns
> > > > -ENOENT.
> > >
> > > This error is with the series I assume?
> >
> > On the first probe genpd_get_from_provider() will return -ENOENT in
> > both cases. The list is empty on the first probe and there are no
> > genpd providers at this point.
> >
> > Earlier with driver_deferred_probe_check_state(), the initial -ENOENT
> > ends up getting changed to -EPROBE_DEFER at the end of
> > driver_deferred_probe_check_state(), we are now missing that.
>
> Right, I was aware -ENOENT would be returned if we got this far. But
> the point of this series is that you shouldn't have gotten that far
> before your pm domain device is ready. Hence my questions from the
> earlier reply.
OK
> Can I get answers to rest of my questions in the first reply please?
> That should help us figure out why fw_devlink let us get this far.
> Summarize them here to make it easy:
> * Are you running with fw_devlink=on?
Yes with the default with no specific kernel params so looks like
FW_DEVLINK_FLAGS_ON.
> * Is the"ti,omap4-prm-inst"/"ti,omap-prm-inst" built-in in this case?
Yes
> * If it's not built-in, can you please try deferred_probe_timeout=0
> and deferred_probe_timeout=30 and see if either one of them help?
It's built in so I did not try these.
> * Can I get the output of "ls -d supplier:*" and "cat
> supplier:*/status" output from the sysfs dir for the ocp device
> without this series where it boots properly.
Hmm so I'm not seeing any supplier for the top level ocp device in
the booting case without your patches. I see the suppliers for the
ocp child device instances only.
Without your patches I see simple-pm-bus probe initially with
EPROBE_DEFER like I described earlier, and then simple-pm-bus probes
on the second try.
Regards,
Tony
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2022-06-23 7:01 UTC|newest]
Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-01 7:06 [PATCH v2 0/9] deferred_probe_timeout logic clean up Saravana Kannan
2022-06-01 7:06 ` Saravana Kannan via iommu
2022-06-01 7:06 ` [PATCH v2 1/9] PM: domains: Delete usage of driver_deferred_probe_check_state() Saravana Kannan
2022-06-01 7:06 ` Saravana Kannan via iommu
2022-06-09 11:44 ` Ulf Hansson
2022-06-09 11:44 ` Ulf Hansson
2022-06-09 19:29 ` Saravana Kannan
2022-06-09 19:29 ` Saravana Kannan via iommu
2022-06-21 7:28 ` Tony Lindgren
2022-06-21 7:28 ` Tony Lindgren
2022-06-21 19:34 ` Saravana Kannan
2022-06-21 19:34 ` Saravana Kannan via iommu
2022-06-22 4:58 ` Tony Lindgren
2022-06-22 4:58 ` Tony Lindgren
2022-06-22 19:09 ` Saravana Kannan
2022-06-22 19:09 ` Saravana Kannan via iommu
2022-06-23 7:01 ` Tony Lindgren [this message]
2022-06-23 7:01 ` Tony Lindgren
2022-06-23 8:21 ` Saravana Kannan
2022-06-23 8:21 ` Saravana Kannan via iommu
2022-06-27 9:10 ` Tony Lindgren
2022-06-27 9:10 ` Tony Lindgren
2022-06-30 23:10 ` Saravana Kannan
2022-06-30 23:10 ` Saravana Kannan via iommu
2022-06-30 23:26 ` Rob Herring
2022-06-30 23:26 ` Rob Herring
2022-06-30 23:30 ` Saravana Kannan
2022-06-30 23:30 ` Saravana Kannan via iommu
2022-07-01 5:33 ` Tony Lindgren
2022-07-01 5:33 ` Tony Lindgren
2022-07-01 6:12 ` Tony Lindgren
2022-07-01 6:12 ` Tony Lindgren
2022-07-01 8:10 ` Saravana Kannan
2022-07-01 8:10 ` Saravana Kannan via iommu
2022-07-01 8:26 ` Saravana Kannan
2022-07-01 8:26 ` Saravana Kannan via iommu
2022-07-01 13:00 ` Tony Lindgren
2022-07-01 13:00 ` Tony Lindgren
2022-07-12 7:12 ` Tony Lindgren
2022-07-13 0:49 ` Saravana Kannan
2022-07-13 8:06 ` Tony Lindgren
2022-07-01 15:08 ` Sudeep Holla
2022-07-01 15:08 ` Sudeep Holla
2022-07-01 19:13 ` Saravana Kannan
2022-07-01 19:13 ` Saravana Kannan via iommu
2022-07-05 8:44 ` Saravana Kannan
2022-07-05 8:44 ` Saravana Kannan via iommu
2022-07-01 7:38 ` Geert Uytterhoeven
2022-07-01 7:38 ` Geert Uytterhoeven
2022-06-23 12:08 ` Alexander Stein
2022-06-23 12:08 ` Alexander Stein
2022-07-01 0:37 ` Saravana Kannan
2022-07-01 0:37 ` Saravana Kannan via iommu
2022-07-01 6:01 ` (EXT) " Alexander Stein
2022-07-01 6:01 ` Alexander Stein
2022-07-01 7:02 ` Saravana Kannan
2022-07-01 7:02 ` Saravana Kannan via iommu
2022-07-04 7:07 ` (EXT) " Alexander Stein
2022-07-04 7:07 ` Alexander Stein
2022-07-05 1:24 ` Saravana Kannan
2022-07-05 1:24 ` Saravana Kannan via iommu
2022-07-06 13:02 ` Re: " Alexander Stein
2022-07-06 13:02 ` Alexander Stein
2022-07-13 0:45 ` Saravana Kannan
2022-07-14 6:41 ` Alexander Stein
2022-07-15 22:08 ` Saravana Kannan
2022-07-01 7:30 ` Geert Uytterhoeven
2022-07-01 7:30 ` Geert Uytterhoeven
2022-06-01 7:06 ` [PATCH v2 2/9] pinctrl: devicetree: " Saravana Kannan
2022-06-01 7:06 ` Saravana Kannan via iommu
2022-06-01 7:06 ` [PATCH v2 3/9] net: mdio: " Saravana Kannan
2022-06-01 7:06 ` Saravana Kannan via iommu
2022-07-05 9:11 ` Geert Uytterhoeven
2022-07-05 9:11 ` Geert Uytterhoeven
2022-07-13 1:40 ` Saravana Kannan
2022-07-13 11:39 ` Geert Uytterhoeven
2022-08-15 8:38 ` Geert Uytterhoeven
2022-06-01 7:07 ` [PATCH v2 4/9] driver core: Add wait_for_init_devices_probe helper function Saravana Kannan
2022-06-01 7:07 ` Saravana Kannan via iommu
2022-06-01 7:07 ` [PATCH v2 5/9] net: ipconfig: Relax fw_devlink if we need to mount a network rootfs Saravana Kannan
2022-06-01 7:07 ` Saravana Kannan via iommu
2022-06-01 7:07 ` [PATCH v2 6/9] Revert "driver core: Set default deferred_probe_timeout back to 0." Saravana Kannan
2022-06-01 7:07 ` Saravana Kannan via iommu
2022-07-20 17:31 ` Geert Uytterhoeven
2022-07-20 19:01 ` Saravana Kannan
2022-07-21 8:40 ` Geert Uytterhoeven
2022-06-01 7:07 ` [PATCH v2 7/9] driver core: Set fw_devlink.strict=1 by default Saravana Kannan
2022-06-01 7:07 ` Saravana Kannan via iommu
2022-06-22 7:47 ` Sascha Hauer
2022-06-22 7:47 ` Sascha Hauer
2022-06-22 8:44 ` Linus Walleij
2022-06-22 8:44 ` Linus Walleij
2022-06-22 10:52 ` Andy Shevchenko
2022-06-22 10:52 ` Andy Shevchenko
2022-06-22 11:18 ` Sascha Hauer
2022-06-22 11:18 ` Sascha Hauer
2022-06-22 19:40 ` Saravana Kannan
2022-06-22 19:40 ` Saravana Kannan via iommu
2022-06-22 20:35 ` Saravana Kannan
2022-06-22 20:35 ` Saravana Kannan via iommu
2022-06-22 22:30 ` Saravana Kannan
2022-06-22 22:30 ` Saravana Kannan via iommu
2022-06-28 13:09 ` Linus Walleij
2022-06-28 13:09 ` Linus Walleij
2022-06-01 7:07 ` [PATCH v2 8/9] iommu/of: Delete usage of driver_deferred_probe_check_state() Saravana Kannan
2022-06-01 7:07 ` Saravana Kannan via iommu
2022-08-19 14:26 ` Jean-Philippe Brucker
2022-06-01 7:07 ` [PATCH v2 9/9] driver core: Delete driver_deferred_probe_check_state() Saravana Kannan
2022-06-01 7:07 ` Saravana Kannan via iommu
2022-06-07 18:07 ` [PATCH v2 0/9] deferred_probe_timeout logic clean up Geert Uytterhoeven
2022-06-07 18:07 ` Geert Uytterhoeven
2022-06-08 0:55 ` Saravana Kannan
2022-06-08 0:55 ` Saravana Kannan via iommu
2022-06-08 4:17 ` Saravana Kannan
2022-06-08 4:17 ` Saravana Kannan via iommu
2022-06-08 10:25 ` Geert Uytterhoeven
2022-06-08 10:25 ` Geert Uytterhoeven
2022-06-08 18:12 ` Saravana Kannan
2022-06-08 18:12 ` Saravana Kannan via iommu
2022-06-08 18:47 ` Geert Uytterhoeven
2022-06-08 18:47 ` Geert Uytterhoeven
2022-06-08 21:07 ` Saravana Kannan
2022-06-08 21:07 ` Saravana Kannan via iommu
2022-06-08 22:49 ` Jakub Kicinski
2022-06-08 22:49 ` Jakub Kicinski
2022-06-08 23:15 ` Saravana Kannan
2022-06-08 23:15 ` Saravana Kannan via iommu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YrQP3OZbe8aCQxKU@atomide.com \
--to=tony@atomide.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=hkallweit1@gmail.com \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=kernel-team@android.com \
--cc=khilman@kernel.org \
--cc=kuba@kernel.org \
--cc=len.brown@intel.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pavel@ucw.cz \
--cc=rafael@kernel.org \
--cc=saravanak@google.com \
--cc=ulf.hansson@linaro.org \
--cc=will@kernel.org \
--cc=yoshfuji@linux-ipv6.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.