Re: [PATCH v7 2/5] PCI: Add Loongson PCI Controller support

Jiaxun Yang
2020-05-06T06:09:17Z

On Mon, 4 May 2020 18:43:29 -0500
Bjorn Helgaas <helgaas@kernel.org> wrote:

> On Tue, Apr 28, 2020 at 09:14:17AM +0800, Jiaxun Yang wrote:
> > This controller can be found on Loongson-2K SoC, Loongson-3
> > systems with RS780E/LS7A PCH.
> >
> > The RS780E part of code was previously located at
> > arch/mips/pci/ops-loongson3.c and now it can use generic PCI
> > driver implementation.
> >
> > Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
> >
> > --
> > v2:
> > - Clean up according to rob's suggestions
> > - Claim that it can't work as a module
> > v3:
> > - Fix a typo
> > v4:
> > - More clean-ups: Drop flag check, use devfn
> > v7:
> > - Fix ordering according to huacai's suggestion
> > ---
> > drivers/pci/controller/Kconfig | 10 +
> > drivers/pci/controller/Makefile | 1 +
> > drivers/pci/controller/pci-loongson.c | 251
> > ++++++++++++++++++++++++++ 3 files changed, 262 insertions(+)
> > create mode 100644 drivers/pci/controller/pci-loongson.c
> >
> > diff --git a/drivers/pci/controller/Kconfig
> > b/drivers/pci/controller/Kconfig index 91bfdb784829..ae36edb1d7db
> > 100644 --- a/drivers/pci/controller/Kconfig
> > +++ b/drivers/pci/controller/Kconfig
> > @@ -258,6 +258,16 @@ config PCI_HYPERV_INTERFACE
> > The Hyper-V PCI Interface is a helper driver allows
> > other drivers to have a common interface with the Hyper-V PCI
> > frontend driver.
> > +config PCI_LOONGSON
> > + bool "LOONGSON PCI Controller"
> > + depends on MACH_LOONGSON64 || COMPILE_TEST
> > + depends on OF
> > + depends on PCI_QUIRKS
> > + default MACH_LOONGSON64
> > + help
> > + Say Y here if you want to enable PCI controller support
> > on
> > + Loongson systems.
> > +
> > source "drivers/pci/controller/dwc/Kconfig"
> > source "drivers/pci/controller/mobiveil/Kconfig"
> > source "drivers/pci/controller/cadence/Kconfig"
> > diff --git a/drivers/pci/controller/Makefile
> > b/drivers/pci/controller/Makefile index 158c59771824..fbac4b0190a0
> > 100644 --- a/drivers/pci/controller/Makefile
> > +++ b/drivers/pci/controller/Makefile
> > @@ -28,6 +28,7 @@ obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
> > obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o
> > obj-$(CONFIG_VMD) += vmd.o
> > obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o
> > +obj-$(CONFIG_PCI_LOONGSON) += pci-loongson.o
>
> This is apparently a PCIe controller, not a Conventional PCI
> controller, since you reference PCIe-specific things like MRRS below.
>
> If that's the case, I'd name it pcie-loongson.c.
>

Hi Bjorn,

Thanks for your careful review.

I'll resolve other comments, for the naming as it's exactly a PCI host
bridge with some on-chip devices like AHCI, Ethernet, VGA controller
attached on it, also some PCI to PCIe bridges are attached on it to
provide PCIe port. I'd still prefer pci-loongson as it's name.

--
Jiaxun Yang