lkml.org 
[lkml]   [2022]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v1 0/9] fw_devlink improvements
    +Naresh Kamboju

    On Tue, Aug 9, 2022 at 11:00 PM 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?
    >
    > Alexander,
    >
    > This should fix your issue where the power domain device not having a
    > compatible property. Can you give it a shot please?
    >
    > Tony,
    >
    > This should handle the odd case of the child being the supplier of the
    > parent. Can you please give this a shot? I want to make sure the cycle
    > detection code handles this properly and treats it like it's NOT a cycle.
    >
    > 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.
    >
    > Sudeep,
    >
    > I don't think there are any unfixed issues you had reported in my other
    > patches that this series might fix, but it'll be nice if you could give
    > this a sanity test.
    >
    > Guenter,
    >
    > I don't think this will fix the issue you reported in the amba patch, but
    > it's worth a shot because it improves a bunch of corner case handling. So
    > it might be better at handling whatever corner cases you might have in the
    > qemu platforms.

    Hi Naresh,

    Thanks for testing these patches in the other thread. Mind giving your
    tested-by here? I know you tested these patches in X15, but were there
    also other boards these patches were tested on as part of the run?

    Thanks,
    Saravana


    >
    > Thanks,
    > Saravana
    >
    > Cc: Abel Vesa <abel.vesa@linaro.org>
    > Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
    > Cc: Tony Lindgren <tony@atomide.com>
    > Cc: Sudeep Holla <sudeep.holla@arm.com>
    > Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    > Cc: John Stultz <jstultz@google.com>
    > Cc: Doug Anderson <dianders@chromium.org>
    > Cc: Guenter Roeck <linux@roeck-us.net>
    >
    > Saravana Kannan (9):
    > driver core: fw_devlink: Don't purge child fwnode's consumer links
    > driver core: fw_devlink: Improve check for fwnode with no
    > device/driver
    > soc: renesas: Move away from using OF_POPULATED for fw_devlink
    > gpiolib: Clear the gpio_device's fwnode initialized flag before adding
    > driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links
    > driver core: fw_devlink: Allow marking a fwnode link as being part of
    > a cycle
    > driver core: fw_devlink: Consolidate device link flag computation
    > driver core: fw_devlink: Make cycle detection more robust
    > of: property: Simplify of_link_to_phandle()
    >
    > drivers/base/core.c | 437 +++++++++++++++++++++-----------
    > drivers/gpio/gpiolib.c | 6 +
    > drivers/of/property.c | 84 +-----
    > drivers/soc/renesas/rcar-sysc.c | 2 +-
    > include/linux/device.h | 1 +
    > include/linux/fwnode.h | 12 +-
    > 6 files changed, 323 insertions(+), 219 deletions(-)
    >
    > --
    > 2.37.1.559.g78731f0fdb-goog
    >

    \
     
     \ /
      Last update: 2022-08-14 08:00    [W:4.413 / U:0.156 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site