All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Saravana Kannan <saravanak@google.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Bartosz Golaszewski <brgl@bgdev.pl>,
	Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Magnus Damm <magnus.damm@gmail.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Daniel Scally <djrscally@gmail.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Len Brown <lenb@kernel.org>, Abel Vesa <abel.vesa@linaro.org>,
	Alexander Stein <alexander.stein@ew.tq-group.com>,
	Tony Lindgren <tony@atomide.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	John Stultz <jstultz@google.com>,
	Doug Anderson <dianders@chromium.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Android Kernel Team <kernel-team@android.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
	<devicetree@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>
Subject: Re: [PATCH v1 0/9] fw_devlink improvements
Date: Wed, 17 Aug 2022 15:01:34 +0200	[thread overview]
Message-ID: <CAMuHMdUHg+HokA63Y74EJ8OUkb6Lbvf7Fa2MX5Vdtoz6ri-otg@mail.gmail.com> (raw)
In-Reply-To: <20220810060040.321697-1-saravanak@google.com>

Hi Saravana,

On Wed, Aug 10, 2022 at 8:00 AM Saravana Kannan <saravanak@google.com> wrote:
> This patch series improves fw_devlink in the following ways:
>
> 1. It no longer cares about a fwnode having a "compatible" property. It
>    figures this our more dynamically. The only expectation is that
>    fwnode that are converted to devices actually get probed by a driver
>    for the dependencies to be enforced correctly.
>
> 2. Finer grained dependency tracking. fw_devlink will now create device
>    links from the consumer to the actual resource's device (if it has one,
>    Eg: gpio_device) instead of the parent supplier device. This improves
>    things like async suspend/resume ordering, potentially remove the need
>    for frameworks to create device links, more parallelized async probing,
>    and better sync_state() tracking.
>
> 3. Handle hardware/software quirks where a child firmware node gets
>    populated as a device before its parent firmware node AND actually
>    supplies a non-optional resource to the parent firmware node's
>    device.
>
> 4. Way more robust at cycle handling (see patch for the insane cases).
>
> 5. Stops depending on OF_POPULATED to figure out some corner cases.
>
> 6. Simplifies the work that needs to be done by the firmware specific
>    code.
>
> This took way too long to get done due to typo bugs I had in my rewrite or
> corner cases I had to find and handle. But it's fairly well tested at this
> point and I expect this to work properly.
>
> Abel & Doug,
>
> This should fix your cyclic dependency issues with your display. Can you
> give it a shot please?

Thanks for to your series!

> Geert,
>
> Can you test the renesas stuff I changed please? They should continue
> working like before. Any other sanity test on other hardware would be
> great too.

At first, this series looked like a total disaster, introducing
several regressions[1].

However, after applying the additional fix from
https://lore.kernel.org/lkml/CAGETcx-JUV1nj8wBJrTPfyvM7=Mre5j_vkVmZojeiumUGG6QZQ@mail.gmail.com
all regressions[1] went away, and /sys/kernel/debug/devices_deferred
is empty again.

Note that the Ethernet PHY interrupt on Koelsch is not fixed, so the issue from
https://lore.kernel.org/all/CAMuHMdWo_wRwV-i_iyTxVnEsf3Th9GBAG+wxUQMQGnw1t2ijTg@mail.gmail.com/
is still present.

Summary: while this series (+ the additional fix) doesn't seem to
introduce any regressions on Renesas ARM platforms, it doesn't seem
to fix anything for me neither.

Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>

[1]

R-Mobile APE6 (ape6evm):
    No "deferred probe pending" messages?

    # cat /sys/kernel/debug/devices_deferred
    ee120000.mmc platform: wait for supplier sd1
    ee100000.mmc platform: wait for supplier sd0
    ee200000.mmc platform: wait for supplier mmc0
    keyboard platform: wait for supplier keyboard

R-Mobile A1 (armadillo-800-eva):
    No soundcards found.
    platform backlight: deferred probe pending
    i2c 0-0030: deferred probe pending (RTC)
    platform sound: deferred probe pending
    platform fe1f0000.sound: deferred probe pending
    platform keyboard: deferred probe pending (gpio-keys)
    platform e6850000.mmc: deferred probe pending (SDHI)
    platform e6bd0000.mmc: deferred probe pending (SDHI)

    # cat /sys/kernel/debug/devices_deferred
    backlight platform: wait for supplier backlight
    0-0030 i2c: wait for supplier rtc
    sound asoc-simple-card: parse error
    fe1f0000.sound platform: wait for supplier sounda
    keyboard platform: wait for supplier keyboard
    e6850000.mmc platform: wait for supplier sd0
    e6bd0000.mmc platform: wait for supplier mmc0

SH-Mobile AG5 (kzm9g):
    No soundcards found.
    platform sound: deferred probe pending
    platform ec230000.sound: deferred probe pending

    # cat /sys/kernel/debug/devices_deferred
    sound asoc-simple-card: parse error
    ec230000.sound platform: wait for supplier sounda

    Note: This is the only board where gpio-keys still works!

R-Car M2-W (koelsch):

    i2c-demux-pinctrl i2c-12: failed to setup demux-adapter 0 (-19)
    i2c-demux-pinctrl i2c-13: failed to setup demux-adapter 0 (-19)
    i2c-demux-pinctrl i2c-14: failed to setup demux-adapter 0 (-19)

    i2c-demux-pinctrl i2c-13: Failed to create device link with hdmi-in
    i2c-demux-pinctrl i2c-13: Failed to create device link with hdmi-out

    No soundcards found.

    Some I2C-busses are missing, but not listed in
/sys/kernel/debug/devices_deferred?
    /devices/platform/soc/e6518000.i2c
    /devices/platform/soc/e6530000.i2c
    /devices/platform/soc/e6520000.i2c

    platform keyboard: deferred probe pending
    platform sound: deferred probe pending
    platform feb00000.display: deferred probe pending

    # cat /sys/kernel/debug/devices_deferred
    keyboard platform: wait for supplier keyboard
    sound asoc-simple-card: parse error
    feb00000.display rcar-du: failed to initialize DRM/KMS

R-Car Gen3 (Salvator-X(S), Ebisu)
    platform keys: deferred probe pending (gpio-keys)

    # cat /sys/kernel/debug/devices_deferred
    keys platform: wait for supplier keys

RZ/A (rskrza1, rza2mevb)
    No "deferred probe pending" messages?
    # cat /sys/kernel/debug/devices_deferred
    keyboard platform: wait for supplier keyboard

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

      parent reply	other threads:[~2022-08-17 13:01 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-10  6:00 [PATCH v1 0/9] fw_devlink improvements Saravana Kannan
2022-08-10  6:00 ` [PATCH v1 1/9] driver core: fw_devlink: Don't purge child fwnode's consumer links Saravana Kannan
2022-08-10  6:00 ` [PATCH v1 2/9] driver core: fw_devlink: Improve check for fwnode with no device/driver Saravana Kannan
2022-08-10  6:00 ` [PATCH v1 3/9] soc: renesas: Move away from using OF_POPULATED for fw_devlink Saravana Kannan
2022-08-10  6:00 ` [PATCH v1 4/9] gpiolib: Clear the gpio_device's fwnode initialized flag before adding Saravana Kannan
2022-08-15  9:57   ` Bartosz Golaszewski
2022-08-10  6:00 ` [PATCH v1 5/9] driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links Saravana Kannan
2022-08-10  6:00 ` [PATCH v1 6/9] driver core: fw_devlink: Allow marking a fwnode link as being part of a cycle Saravana Kannan
2022-08-10  6:00 ` [PATCH v1 7/9] driver core: fw_devlink: Consolidate device link flag computation Saravana Kannan
2022-08-10  6:00 ` [PATCH v1 8/9] driver core: fw_devlink: Make cycle detection more robust Saravana Kannan
2022-08-10  6:00 ` [PATCH v1 9/9] of: property: Simplify of_link_to_phandle() Saravana Kannan
2022-08-12  9:47   ` Tony Lindgren
2022-08-13  0:37     ` Saravana Kannan
2022-08-15 10:31       ` Tony Lindgren
2022-08-15 21:00         ` Saravana Kannan
2022-08-12  9:49 ` [PATCH v1 0/9] fw_devlink improvements Tony Lindgren
2022-08-13  0:51   ` Saravana Kannan
2022-08-15 10:33     ` Tony Lindgren
2022-08-15 18:23       ` Saravana Kannan
2022-08-18  7:05         ` Tony Lindgren
2022-08-18 15:00           ` Greg Kroah-Hartman
2022-08-14  5:59 ` Saravana Kannan
2022-08-15 10:17   ` Naresh Kamboju
2022-08-15 11:01 ` Abel Vesa
2022-08-15 18:23   ` Saravana Kannan
2022-08-15 12:39 ` Alexander Stein
2022-08-15 19:17   ` Saravana Kannan
2022-08-15 20:56     ` Saravana Kannan
2022-08-16  7:17       ` Alexander Stein
2022-08-16 18:51         ` Saravana Kannan
2022-08-16  7:17     ` Alexander Stein
2022-08-15 13:52 ` Sudeep Holla
2022-08-17 13:01 ` Geert Uytterhoeven [this message]

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=CAMuHMdUHg+HokA63Y74EJ8OUkb6Lbvf7Fa2MX5Vdtoz6ri-otg@mail.gmail.com \
    --to=geert@linux-m68k.org \
    --cc=abel.vesa@linaro.org \
    --cc=alexander.stein@ew.tq-group.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=brgl@bgdev.pl \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=djrscally@gmail.com \
    --cc=frowand.list@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=jstultz@google.com \
    --cc=kernel-team@android.com \
    --cc=lenb@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=magnus.damm@gmail.com \
    --cc=rafael@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=saravanak@google.com \
    --cc=sudeep.holla@arm.com \
    --cc=tony@atomide.com \
    /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.