[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220510092035.79164930@xps-bootlin>
Date: Tue, 10 May 2022 09:20:35 +0200
From: Clément Léger <clement.leger@...tlin.com>
To: Frank Rowand <frowand.list@...il.com>
Cc: Rob Herring <robh+dt@...nel.org>,
Pantelis Antoniou <pantelis.antoniou@...sulko.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Allan Nielsen <allan.nielsen@...rochip.com>,
Horatiu Vultur <horatiu.vultur@...rochip.com>,
Steen Hegelund <steen.hegelund@...rochip.com>,
Thomas Petazzoni <thomas.petazonni@...tlin.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Mark Brown <broonie@...nel.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Jakub Kicinski <kuba@...nel.org>,
Hans de Goede <hdegoede@...hat.com>,
Andrew Lunn <andrew@...n.ch>, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [PATCH 0/3] add dynamic PCI device of_node creation for overlay
Le Mon, 9 May 2022 15:07:18 -0500,
Frank Rowand <frowand.list@...il.com> a écrit :
> > Ok, that is actually possible on a system that is given a
> > device-tree by the bootloader. But on a system that is desrcibed
> > using ACPI (such as the x86), this is much more difficult (at least
> > to my knowledge)... We want this feature to be easy to use for the
> > end user. Adding such configuration which also differs between
> > various architecture is clearly not so easy to setup.
>
> Are you trying to make your card work on any ACPI based system (x86,
> x86-64, etc)? Or do you have a specific model of computer that you
> want to make this work on for a specific customer or appliance?
There is no particular appliance/architecture targeted. This card should
work with any system that can support PCIe.
>
> If for many arbitrary systems, can you limit it to one architecture
> or sub-architecture?
Previous answer does rule out this one.
>
> >
> > Moreover, since the PCI is meant to be "Plug and Play", such
> > configuration would completely break that. If the user switches the
> > PCIe card from one slot to another, the bootloader configuration
> > will need to be modified. This seems a big no way for me (and for
> > the user).
>
> Yes. I was envisioning the pre-bootloader, bootloader, or Linux
> pre-boot shim dynamically determining the slot containing the card,
> and applying the overlay devicetree to the base devicetree,
> retargeting the overlay to the proper location, before the Linux boot.
Ok, this is however not doable on many already existing platforms since
it would require to adapt this system for whatever bootloader is
present on the platform. Moreover, AFAIK some platforms bootchain (x86)
are hardly modifiable.
>
> The base devicetree would be for a specific type of machine or family
> of machines, just as is the case for all devicetree based systems.
>
> >
> >>
> >> The other big issue is mixing ACPI and devicetree on a single
> >> system. Historically, the Linux devicetree community has not been
> >> receptive to the ides of that mixture. Your example might be a
> >> specific case where the two can be isolated from each other, or
> >> maybe not. (For disclosure, I am essentially ACPI ignorant.) I
> >> suspect that mixing ACPI and devicetree is a recipe for disaster
> >> in the general case.
> >
> > Agreed, on that fact, it did raised some eyebrows, and it was for
> > that specific concern that initially, I proposed the fwnode
> > solution. Honestly, the fwnode conversion represent a lot of work
> > (hundreds of lines easily) + requires a conversion of all the
> > subsystem that are not fwnode ready (spoiler: almost all of them
> > are not ready).
> >
> > After implementing Rob's solution, the device-tree overlay really
> > seems the cleaner to me and requires much less modifications.
> >
> >>
> >> More to come later as I finish reading through the various
> >> threads.
> >
> > Ok, thanks for your time !
>
> Your welcome. I'll keep looking deeper into the previous threads.
>
> -Frank
>
> >
> > Clément
> >
> >>
> >> -Frank
> >
> > .
>
Powered by blists - more mailing lists