Re: [PATCH v5 0/6] Add SiFive FU740 PCIe host controller driver support
Lorenzo Pieralisi 於 2021年4月9日 週五 下午4:54寫道: > > On Tue, 6 Apr 2021 17:26:28 +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. > > > > 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. > > > > [...] > > Applied to pci/dwc [dropped patch 6], thanks! > > [1/6] clk: sifive: Add pcie_aux clock in prci driver for PCIe driver > https://git.kernel.org/lpieralisi/pci/c/f3ce593b1a > [2/6] clk: sifive: Use reset-simple in prci driver for PCIe driver > https://git.kernel.org/lpieralisi/pci/c/0a78fcfd3d > [3/6] MAINTAINERS: Add maintainers for SiFive FU740 PCIe driver > https://git.kernel.org/lpieralisi/pci/c/8bb1c66a90 > [4/6] dt-bindings: PCI: Add SiFive FU740 PCIe host controller > https://git.kernel.org/lpieralisi/pci/c/b86d55c107 > [5/6] PCI: fu740: Add SiFive FU740 PCIe host controller driver > https://git.kernel.org/lpieralisi/pci/c/327c333a79 > > Thanks, > Lorenzo Hi Palmer, Since the PCIE driver has been applied, would you please pick patch 6 to RISC-V for-next tree? Thank you. :)
Re: [PATCH v5 0/6] Add SiFive FU740 PCIe host controller driver support
On Tue, 6 Apr 2021 17:26:28 +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. > > 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. > > [...] Applied to pci/dwc [dropped patch 6], thanks! [1/6] clk: sifive: Add pcie_aux clock in prci driver for PCIe driver https://git.kernel.org/lpieralisi/pci/c/f3ce593b1a [2/6] clk: sifive: Use reset-simple in prci driver for PCIe driver https://git.kernel.org/lpieralisi/pci/c/0a78fcfd3d [3/6] MAINTAINERS: Add maintainers for SiFive FU740 PCIe driver https://git.kernel.org/lpieralisi/pci/c/8bb1c66a90 [4/6] dt-bindings: PCI: Add SiFive FU740 PCIe host controller https://git.kernel.org/lpieralisi/pci/c/b86d55c107 [5/6] PCI: fu740: Add SiFive FU740 PCIe host controller driver https://git.kernel.org/lpieralisi/pci/c/327c333a79 Thanks, Lorenzo
Re: [PATCH v5 0/6] Add SiFive FU740 PCIe host controller driver support
Lorenzo Pieralisi 於 2021年4月9日 週五 上午12:25寫道: > > 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. > > > > 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 > > I can pull the patches above into the PCI tree (but will drop patch 6 - > dts changes), is it OK for you ? Please let me know how you would like > to upstream it. > Hi Lorenzo, Thank you. I am ok with it. So I should ask Palmer to pick patch 6 dts changes to RISC-V tree?
Re: [PATCH v5 0/6] Add SiFive FU740 PCIe host controller driver support
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. > > 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 I can pull the patches above into the PCI tree (but will drop patch 6 - dts changes), is it OK for you ? Please let me know how you would like to upstream it. Lorenzo > .../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 >
[PATCH v5 0/6] Add SiFive FU740 PCIe host controller driver support
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. 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