U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/2 v1] Propagate bootph* property to all parent nodes
@ 2025-02-12  9:18 Moteen Shah
  2025-02-12  9:18 ` [RFC PATCH 1/2 v1] arch: arm: Kconfig: Add config to use subnode's bootph property for binding drivers Moteen Shah
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Moteen Shah @ 2025-02-12  9:18 UTC (permalink / raw)
  To: u-boot
  Cc: trini, sjg, m-chawdhry, n-francis, vigneshr, u-kumar1, a-chavda,
	m-shah

In the U-Boot pre-relocation stage, if the parent node lacks bootph*
property and the driver lacks a pre-reloc flag, all of its subsequent
subnodes gets skipped over from driver binding—even if they have a
bootph* property.

This series addresses the issue by scanning through all the subnodes
of the current node for the bootph* property and propagate it to all
of its supernodes, ensuring that all of the applicable drivers are
bound and probed prior to relocation. This series implements one of
the solutions mentioned in [0].

Since, all the nodes which are not having any bootph* property will
also be traversed, we will have to incur some overheads in boot time,
hence protecting the feature under a config.

Boot time overheads:
    Baseline: Upstream u-boot

    Patch test: Baseline + remove all bootph-all properties from
    *-u-boot.dtsi except the ones which are supposed to be probed
    but have no bootph in any of its subnode.

    J7200 delta from baseline  : ~100ms
    J784S4 delta from baseline : ~350ms

Boot logs with the patch:
https://gist.github.com/Jamm02/d6e76233437525b266ec96f8a7982096

References: 
[0] https://lore.kernel.org/u-boot/CAFLszTiEZYoo+=+MJg7sgN93k144zEi18A5_Hk+J3sce00g+=w@mail.gmail.com/

Moteen Shah (2):
  arch: arm: Kconfig: Add config to use subnode's bootph property for
    binding drivers
  drivers: core: lists.c: Bind drivers using bootph* property in
    subnodes

 arch/arm/Kconfig     | 11 ++++++
 drivers/core/lists.c | 88 +++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 97 insertions(+), 2 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2025-03-27  6:59 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-12  9:18 [RFC PATCH 0/2 v1] Propagate bootph* property to all parent nodes Moteen Shah
2025-02-12  9:18 ` [RFC PATCH 1/2 v1] arch: arm: Kconfig: Add config to use subnode's bootph property for binding drivers Moteen Shah
2025-02-12 14:49   ` Kumar, Udit
2025-02-13  4:48     ` Moteen Shah
2025-02-13 14:01   ` Simon Glass
2025-02-14  5:05     ` [EXTERNAL] " Moteen Shah
2025-02-25 21:27       ` Simon Glass
2025-03-07  4:55         ` Moteen Shah
2025-03-27  6:58           ` Moteen Shah
2025-02-12  9:18 ` [RFC PATCH 2/2 v1] drivers: core: lists.c: Bind drivers using bootph* property in subnodes Moteen Shah
2025-02-12 13:37   ` Simon Glass
2025-02-13 13:01     ` [EXTERNAL] " Moteen Shah
2025-02-12 14:59   ` Kumar, Udit
2025-02-17 15:02 ` [RFC PATCH 0/2 v1] Propagate bootph* property to all parent nodes Quentin Schulz
2025-02-26  5:57   ` Moteen Shah
2025-02-26 10:53     ` Quentin Schulz
2025-02-27 16:24       ` Simon Glass
2025-02-28 11:03         ` Quentin Schulz
2025-03-05 14:15           ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox