Hi Jason,
On Fri, Aug 08, 2025 at 09:15:15AM -0300, Jason Gunthorpe wrote:
On Wed, Aug 06, 2025 at 02:55:38PM -0700, Shyam Saini wrote:
quoted
Individual PCI devices lack dedicated device tree nodes, but
This is not the case, you can put PCI devices in the DT as well, there
is a syntax for it. Why not do that and have the FW populate it on the
device node itself?
sorry, I missed that, were you referring to [1] CONFIG_PCI_DYNAMIC_OF_NODES
approach?
I tried a PoC with that and got the expected results. However, it requires
hardcoding PCI device IDs using DECLARE_PCI_FIXUP_FINAL?
or were you referring to [2]?
In that case, the PCI child node data needs to be parsed, which is
currently handled individually by each host controller driver.
This might not be a strong argument, but since firmware updates tend
to happen less frequently than OS updates, any addition or modification
to the FDT would require a firmware update. Wouldn't it be more
maintainable to keep this logic in Linux, which is easier to update
and typically updated more often?
You should CC all the device tree maintainers on something like this
as well.
sure, Cc'd some more folks
[1] https://lwn.net/Articles/939317/
[2] https://elixir.bootlin.com/linux/v6.16/source/arch/arm64/boot/dts/nvidia/tegra186.dtsi#L1340
Thanks,
Shyam