From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Greentime Hu <greentime.hu@sifive.com>,
paul.walmsley@sifive.com, hes@sifive.com, erik.danie@sifive.com,
zong.li@sifive.com, bhelgaas@google.com, robh+dt@kernel.org,
aou@eecs.berkeley.edu, mturquette@baylibre.com, sboyd@kernel.org,
p.zabel@pengutronix.de, alex.dewar90@gmail.com,
khilman@baylibre.com, hayashi.kunihiko@socionext.com,
vidyas@nvidia.com, jh80.chung@samsung.com,
linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-clk@vger.kernel.org
Subject: Re: [PATCH v6 5/6] PCI: fu740: Add SiFive FU740 PCIe host controller driver
Date: Tue, 4 May 2021 15:23:58 +0100 [thread overview]
Message-ID: <20210504142358.GA25477@lpieralisi> (raw)
In-Reply-To: <20210504134632.GA1088165@bjorn-Precision-5520>
On Tue, May 04, 2021 at 08:46:32AM -0500, Bjorn Helgaas wrote:
> On Tue, May 04, 2021 at 06:59:39PM +0800, Greentime Hu wrote:
> > From: Paul Walmsley <paul.walmsley@sifive.com>
> >
> > Add driver for the SiFive FU740 PCIe host controller.
> > This controller is based on the DesignWare PCIe core.
> >
> > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
> > Co-developed-by: Henry Styles <hes@sifive.com>
> > Signed-off-by: Henry Styles <hes@sifive.com>
> > Co-developed-by: Erik Danie <erik.danie@sifive.com>
> > Signed-off-by: Erik Danie <erik.danie@sifive.com>
> > Co-developed-by: Greentime Hu <greentime.hu@sifive.com>
> > Signed-off-by: Greentime Hu <greentime.hu@sifive.com>
> > ---
> > drivers/pci/controller/dwc/Kconfig | 10 +
> > drivers/pci/controller/dwc/Makefile | 1 +
> > drivers/pci/controller/dwc/pcie-fu740.c | 309 ++++++++++++++++++++++++
> > 3 files changed, 320 insertions(+)
> > create mode 100644 drivers/pci/controller/dwc/pcie-fu740.c
> >
> > diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
> > index 22c5529e9a65..255d43b1661b 100644
> > --- a/drivers/pci/controller/dwc/Kconfig
> > +++ b/drivers/pci/controller/dwc/Kconfig
> > @@ -318,4 +318,14 @@ config PCIE_AL
> > required only for DT-based platforms. ACPI platforms with the
> > Annapurna Labs PCIe controller don't need to enable this.
> >
> > +config PCIE_FU740
> > + bool "SiFive FU740 PCIe host controller"
> > + depends on PCI_MSI_IRQ_DOMAIN
> > + depends on SOC_SIFIVE || COMPILE_TEST
> > + depends on GPIOLIB
>
> 1) I'm a little disappointed that I reported the build issue 6 days
> ago when we were already in the merge window, and it's taken until
> now to make some progress.
>
> 2) I would prefer not to depend on GPIOLIB because it reduces
> compile-test coverage. For example, the x86_64 defconfig does not
> enable GPIOLIB, so one must manually enable it to even be able to
> enable PCIE_FU740.
>
> Many other PCI controller drivers use GPIO, but no others depend on
> GPIOLIB, so I infer that in the !GPIOLIB case, gpio/consumer.h
> provides the stubs required for compile testing.
>
> We could have a conversation about whether it's better to
> explicitly depend on GPIOLIB here, or whether building a working
> FU740 driver implicitly depends on GPIOLIB being selected
> elsewhere. That implicit dependency *is* a little obscure, but I
> think that's what other drivers currently do, and I'd like to do
> this consistently unless there's a good reason otherwise.
I will drop the explicit GPIOLIB dependency and push it out. For (1) I
agree with you - I merged when I received some input - it is reasonable
to avoid adding it to v5.13 material for this reason, apologies.
Thanks,
Lorenzo
> Here are some examples of other drivers:
>
> dwc/pci-dra7xx.c:
> config PCI_DRA7XX_HOST
> depends on SOC_DRA7XX || COMPILE_TEST
>
> config SOC_DRA7XX
> select ARCH_OMAP2PLUS
>
> config ARCH_OMAP2PLUS
> select GPIOLIB
>
> dwc/pci-meson.c:
> config PCI_MESON
> # doesn't, but probably *should* depend on "ARCH_MESON || COMPILE_TEST"
>
> menuconfig ARCH_MESON
> select GPIOLIB
>
> dwc/pcie-qcom.c:
> config PCIE_QCOM
> depends on OF && (ARCH_QCOM || COMPILE_TEST)
>
> config ARCH_QCOM
> select GPIOLIB
>
> pcie-rockchip.c:
> config PCIE_ROCKCHIP_HOST
> depends on ARCH_ROCKCHIP || COMPILE_TEST
>
> config ARCH_ROCKCHIP
> select GPIOLIB
>
> > + select PCIE_DW_HOST
> > + help
> > + Say Y here if you want PCIe controller support for the SiFive
> > + FU740.
> > +
> > endmenu
WARNING: multiple messages have this Message-ID (diff)
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Greentime Hu <greentime.hu@sifive.com>,
paul.walmsley@sifive.com, hes@sifive.com, erik.danie@sifive.com,
zong.li@sifive.com, bhelgaas@google.com, robh+dt@kernel.org,
aou@eecs.berkeley.edu, mturquette@baylibre.com, sboyd@kernel.org,
p.zabel@pengutronix.de, alex.dewar90@gmail.com,
khilman@baylibre.com, hayashi.kunihiko@socionext.com,
vidyas@nvidia.com, jh80.chung@samsung.com,
linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-clk@vger.kernel.org
Subject: Re: [PATCH v6 5/6] PCI: fu740: Add SiFive FU740 PCIe host controller driver
Date: Tue, 4 May 2021 15:23:58 +0100 [thread overview]
Message-ID: <20210504142358.GA25477@lpieralisi> (raw)
In-Reply-To: <20210504134632.GA1088165@bjorn-Precision-5520>
On Tue, May 04, 2021 at 08:46:32AM -0500, Bjorn Helgaas wrote:
> On Tue, May 04, 2021 at 06:59:39PM +0800, Greentime Hu wrote:
> > From: Paul Walmsley <paul.walmsley@sifive.com>
> >
> > Add driver for the SiFive FU740 PCIe host controller.
> > This controller is based on the DesignWare PCIe core.
> >
> > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
> > Co-developed-by: Henry Styles <hes@sifive.com>
> > Signed-off-by: Henry Styles <hes@sifive.com>
> > Co-developed-by: Erik Danie <erik.danie@sifive.com>
> > Signed-off-by: Erik Danie <erik.danie@sifive.com>
> > Co-developed-by: Greentime Hu <greentime.hu@sifive.com>
> > Signed-off-by: Greentime Hu <greentime.hu@sifive.com>
> > ---
> > drivers/pci/controller/dwc/Kconfig | 10 +
> > drivers/pci/controller/dwc/Makefile | 1 +
> > drivers/pci/controller/dwc/pcie-fu740.c | 309 ++++++++++++++++++++++++
> > 3 files changed, 320 insertions(+)
> > create mode 100644 drivers/pci/controller/dwc/pcie-fu740.c
> >
> > diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
> > index 22c5529e9a65..255d43b1661b 100644
> > --- a/drivers/pci/controller/dwc/Kconfig
> > +++ b/drivers/pci/controller/dwc/Kconfig
> > @@ -318,4 +318,14 @@ config PCIE_AL
> > required only for DT-based platforms. ACPI platforms with the
> > Annapurna Labs PCIe controller don't need to enable this.
> >
> > +config PCIE_FU740
> > + bool "SiFive FU740 PCIe host controller"
> > + depends on PCI_MSI_IRQ_DOMAIN
> > + depends on SOC_SIFIVE || COMPILE_TEST
> > + depends on GPIOLIB
>
> 1) I'm a little disappointed that I reported the build issue 6 days
> ago when we were already in the merge window, and it's taken until
> now to make some progress.
>
> 2) I would prefer not to depend on GPIOLIB because it reduces
> compile-test coverage. For example, the x86_64 defconfig does not
> enable GPIOLIB, so one must manually enable it to even be able to
> enable PCIE_FU740.
>
> Many other PCI controller drivers use GPIO, but no others depend on
> GPIOLIB, so I infer that in the !GPIOLIB case, gpio/consumer.h
> provides the stubs required for compile testing.
>
> We could have a conversation about whether it's better to
> explicitly depend on GPIOLIB here, or whether building a working
> FU740 driver implicitly depends on GPIOLIB being selected
> elsewhere. That implicit dependency *is* a little obscure, but I
> think that's what other drivers currently do, and I'd like to do
> this consistently unless there's a good reason otherwise.
I will drop the explicit GPIOLIB dependency and push it out. For (1) I
agree with you - I merged when I received some input - it is reasonable
to avoid adding it to v5.13 material for this reason, apologies.
Thanks,
Lorenzo
> Here are some examples of other drivers:
>
> dwc/pci-dra7xx.c:
> config PCI_DRA7XX_HOST
> depends on SOC_DRA7XX || COMPILE_TEST
>
> config SOC_DRA7XX
> select ARCH_OMAP2PLUS
>
> config ARCH_OMAP2PLUS
> select GPIOLIB
>
> dwc/pci-meson.c:
> config PCI_MESON
> # doesn't, but probably *should* depend on "ARCH_MESON || COMPILE_TEST"
>
> menuconfig ARCH_MESON
> select GPIOLIB
>
> dwc/pcie-qcom.c:
> config PCIE_QCOM
> depends on OF && (ARCH_QCOM || COMPILE_TEST)
>
> config ARCH_QCOM
> select GPIOLIB
>
> pcie-rockchip.c:
> config PCIE_ROCKCHIP_HOST
> depends on ARCH_ROCKCHIP || COMPILE_TEST
>
> config ARCH_ROCKCHIP
> select GPIOLIB
>
> > + select PCIE_DW_HOST
> > + help
> > + Say Y here if you want PCIe controller support for the SiFive
> > + FU740.
> > +
> > endmenu
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2021-05-04 14:24 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-04 10:59 [PATCH v6 0/6] Add SiFive FU740 PCIe host controller driver support Greentime Hu
2021-05-04 10:59 ` Greentime Hu
2021-05-04 10:59 ` [PATCH v6 1/6] clk: sifive: Add pcie_aux clock in prci driver for PCIe driver Greentime Hu
2021-05-04 10:59 ` Greentime Hu
2021-05-04 12:24 ` Leon Romanovsky
2021-05-04 12:24 ` Leon Romanovsky
2021-05-04 16:23 ` Bjorn Helgaas
2021-05-04 16:23 ` Bjorn Helgaas
2021-05-04 18:12 ` Leon Romanovsky
2021-05-04 18:12 ` Leon Romanovsky
2021-05-04 18:45 ` Bjorn Helgaas
2021-05-04 18:45 ` Bjorn Helgaas
2021-05-05 5:22 ` Leon Romanovsky
2021-05-05 5:22 ` Leon Romanovsky
2021-05-04 10:59 ` [PATCH v6 2/6] clk: sifive: Use reset-simple " Greentime Hu
2021-05-04 10:59 ` Greentime Hu
2021-05-04 10:59 ` [PATCH v6 3/6] MAINTAINERS: Add maintainers for SiFive FU740 " Greentime Hu
2021-05-04 10:59 ` Greentime Hu
2021-05-04 10:59 ` [PATCH v6 4/6] dt-bindings: PCI: Add SiFive FU740 PCIe host controller Greentime Hu
2021-05-04 10:59 ` Greentime Hu
2021-05-04 10:59 ` [PATCH v6 5/6] PCI: fu740: Add SiFive FU740 PCIe host controller driver Greentime Hu
2021-05-04 10:59 ` Greentime Hu
2021-05-04 13:46 ` Bjorn Helgaas
2021-05-04 13:46 ` Bjorn Helgaas
2021-05-04 14:23 ` Lorenzo Pieralisi [this message]
2021-05-04 14:23 ` Lorenzo Pieralisi
2021-05-05 4:26 ` Greentime Hu
2021-05-05 4:26 ` Greentime Hu
2021-05-05 14:37 ` Bjorn Helgaas
2021-05-05 14:37 ` Bjorn Helgaas
2021-05-04 10:59 ` [PATCH v6 6/6] riscv: dts: Add PCIe support for the SiFive FU740-C000 SoC Greentime Hu
2021-05-04 10:59 ` Greentime Hu
2021-05-04 11:28 ` [PATCH v6 0/6] Add SiFive FU740 PCIe host controller driver support Lorenzo Pieralisi
2021-05-04 11:28 ` Lorenzo Pieralisi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210504142358.GA25477@lpieralisi \
--to=lorenzo.pieralisi@arm.com \
--cc=alex.dewar90@gmail.com \
--cc=aou@eecs.berkeley.edu \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=erik.danie@sifive.com \
--cc=greentime.hu@sifive.com \
--cc=hayashi.kunihiko@socionext.com \
--cc=helgaas@kernel.org \
--cc=hes@sifive.com \
--cc=jh80.chung@samsung.com \
--cc=khilman@baylibre.com \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=paul.walmsley@sifive.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
--cc=vidyas@nvidia.com \
--cc=zong.li@sifive.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.