Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> 於 2021年5月4日 週二 下午6:12寫道: > > On Tue, May 04, 2021 at 03:20:00PM +0800, Greentime Hu wrote: > > Bjorn Helgaas <helgaas@xxxxxxxxxx> 於 2021年5月4日 週二 上午12:40寫道: > > > > > > On Tue, Apr 06, 2021 at 05:26:28PM +0800, Greentime Hu wrote: > > > > This patchset includes SiFive FU740 PCIe host controller driver. We also > > > > add pcie_aux clock and pcie_power_on_reset controller to prci driver for > > > > PCIe driver to use it. > > > > > > I dropped this series because of the build problem I mentioned [1]. > > > It will not be included in v5.13 unless the build problem is fixed > > > ASAP. > > > > > > [1] https://lore.kernel.org/r/20210428194713.GA314975@bjorn-Precision-5520 > > > > > > > Hi all, > > > > This build failed in x86_64 is because CONFIG_GPIOLIB is disabled in > > the testing config. > > > > diff --git a/drivers/pci/controller/dwc/Kconfig > > b/drivers/pci/controller/dwc/Kconfig > > index 0a37d21ed64e..56b66e1fed53 100644 > > --- a/drivers/pci/controller/dwc/Kconfig > > +++ b/drivers/pci/controller/dwc/Kconfig > > @@ -323,6 +323,7 @@ config PCIE_FU740 > > depends on PCI_MSI_IRQ_DOMAIN > > depends on SOC_SIFIVE || COMPILE_TEST > > select PCIE_DW_HOST > > + select GPIOLIB > > I think that an include: > > #include <linux/gpio/consumer.h> > > in the driver would do. Still, I believe we should also add a > "depends on" in the Kconfig entry rather than a "select". > > Please let me know as soon as possible. > Hi Lorenzo, Thank you for suggesting this. I'll add the include and use "depends on" rather than a "select" and send the v6 patch. > Lorenzo > > > help > > Say Y here if you want PCIe controller support for the SiFive > > FU740. > > > > After applying this change, it can build pass. > > > > > > This is tested with e1000e: Intel(R) PRO/1000 Network Card, AMD Radeon R5 > > > > 230 graphics card and SP M.2 PCIe Gen 3 SSD in SiFive Unmatched based on > > > > v5.11 Linux kernel. > > > > > > > > Changes in v5: > > > > - Fix typo in comments > > > > - Keep comments style consistent > > > > - Refine some error handling codes > > > > - Remove unneeded header file including > > > > - Merge fu740_pcie_ltssm_enable implementation to fu740_pcie_start_link > > > > > > > > Changes in v4: > > > > - Fix Wunused-but-set-variable warning in prci driver > > > > > > > > Changes in v3: > > > > - Remove items that has been defined > > > > - Refine format of sifive,fu740-pcie.yaml > > > > - Replace perstn-gpios with the common one > > > > - Change DBI mapping space to 2GB from 4GB > > > > - Refine drivers/reset/Kconfig > > > > > > > > Changes in v2: > > > > - Refine codes based on reviewers' feedback > > > > - Remove define and use the common one > > > > - Replace __raw_writel with writel_relaxed > > > > - Split fu740_phyregreadwrite to write function > > > > - Use readl_poll_timeout in stead of while loop checking > > > > - Use dwc common codes > > > > - Use gpio descriptors and the gpiod_* api. > > > > - Replace devm_ioremap_resource with devm_platform_ioremap_resource_byname > > > > - Replace devm_reset_control_get with devm_reset_control_get_exclusive > > > > - Add more comments for delay and sleep > > > > - Remove "phy ? x : y" expressions > > > > - Refine code logic to remove possible infinite loop > > > > - Replace magic number with meaningful define > > > > - Remove fu740_pcie_pm_ops > > > > - Use builtin_platform_driver > > > > > > > > Greentime Hu (5): > > > > clk: sifive: Add pcie_aux clock in prci driver for PCIe driver > > > > clk: sifive: Use reset-simple in prci driver for PCIe driver > > > > MAINTAINERS: Add maintainers for SiFive FU740 PCIe driver > > > > dt-bindings: PCI: Add SiFive FU740 PCIe host controller > > > > riscv: dts: Add PCIe support for the SiFive FU740-C000 SoC > > > > > > > > Paul Walmsley (1): > > > > PCI: fu740: Add SiFive FU740 PCIe host controller driver > > > > > > > > .../bindings/pci/sifive,fu740-pcie.yaml | 113 +++++++ > > > > MAINTAINERS | 8 + > > > > arch/riscv/boot/dts/sifive/fu740-c000.dtsi | 33 ++ > > > > drivers/clk/sifive/Kconfig | 2 + > > > > drivers/clk/sifive/fu740-prci.c | 11 + > > > > drivers/clk/sifive/fu740-prci.h | 2 +- > > > > drivers/clk/sifive/sifive-prci.c | 54 +++ > > > > drivers/clk/sifive/sifive-prci.h | 13 + > > > > drivers/pci/controller/dwc/Kconfig | 9 + > > > > drivers/pci/controller/dwc/Makefile | 1 + > > > > drivers/pci/controller/dwc/pcie-fu740.c | 308 ++++++++++++++++++ > > > > drivers/reset/Kconfig | 1 + > > > > include/dt-bindings/clock/sifive-fu740-prci.h | 1 + > > > > 13 files changed, 555 insertions(+), 1 deletion(-) > > > > create mode 100644 Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml > > > > create mode 100644 drivers/pci/controller/dwc/pcie-fu740.c > > > > > > > > -- > > > > 2.30.2 > > > >