[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <zaj4vcbduaoceaueqq5hvbw5rvoksk5oz6via3jhfp7lyzlxnh@2umxfxphupgd>
Date: Tue, 4 Feb 2025 18:19:51 +0100
From: Thierry Reding <treding@...dia.com>
To: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
Cc: Niklas Cassel <cassel@...nel.org>, Vidya Sagar <vidyas@...dia.com>,
lpieralisi@...nel.org, kw@...ux.com, robh@...nel.org, bhelgaas@...gle.com,
quic_schintav@...cinc.com, johan+linaro@...nel.org, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org, jonathanh@...dia.com, kthota@...dia.com, mmaddireddy@...dia.com,
sagar.tv@...il.com
Subject: Re: [PATCH V1] PCI: tegra194: Add support for PCIe RC & EP in
Tegra234 Platforms
On Mon, Feb 03, 2025 at 10:29:32PM +0530, Manivannan Sadhasivam wrote:
> On Tue, Jan 28, 2025 at 01:04:32PM +0100, Niklas Cassel wrote:
> > Hello Vidya,
> >
> > On Tue, Jan 28, 2025 at 10:12:44AM +0530, Vidya Sagar wrote:
> > > Add PCIe RC & EP support for Tegra234 Platforms.
> >
> > The commit log does leave quite a few questions unanswered.
> >
> > Since you are just updating the Kconfig and nothing else:
> > Does the DT binding already have support for the Tegra234 SoC?
> > Does the driver already have support for the Tegra234 SoC?
> >
> > Looking at the DT binding and driver, the answer to both questions
> > is yes. (This should have been in the commit message IMO.)
> >
> >
> > But that leads me to the question, since there is support for Tegra234
> > SoC in the driver, does this means that this fixes a regression, e.g.
> > the Kconfig ARCH_TEGRA_234_SOC was added after the driver support in
> > this driver was added. In this case, you should have a Fixes: tag that
> > points to the commit that added ARCH_TEGRA_234_SOC.
> >
> > Or has the the driver support for Tegra234 been "dead-code" since it
> > was originally added? (Because without this patch, no one can have
> > tested it, at least not without COMPILE_TEST.)
> > In this case, you should add:
> > Fixes: a54e19073718 ("PCI: tegra194: Add Tegra234 PCIe support")
> >
>
> TBH, I don't like muddling with Kconfig like this. Ideally, the driver should
> just depend on ARCH_TEGRA || COMPILE_TEST and the driver should be selected by
> the relevant defconfig.
ARCH_TEGRA is a symbol that exists both on 32-bit and 64-bit ARM. This
driver is completely useless on 32-bit ARM and only used on a very small
subset of 64-bit ARM devices. It doesn't make sense to be able to enable
this if you want to build a kernel for say Tegra210.
The relevant defconfig in this case would be the arm64 defconfig, which
isn't very authoritative.
> And this is what all other rest of the platforms are doing. Why should Nvidia be
> different? It makes me feel that this Kconfig dependency is used as a workaround
> for defconfig updates.
Well, it's certainly not used as a workaround for defconfig updates
because the change itself doesn't enable this symbol. You'd still need a
defconfig change to do that.
Also, we do this primarily because we've always done things this way on
Tegra. As I said, for a lot of drivers it doesn't make sense to include
them in a 32-bit build or 64-bit build because the hardware simply
doesn't exist. Having per-SoC generation Kconfig symbols allows this to
be modelled more accurately and if desired to build compact images.
Thierry
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists