Re: [PATCH V4 5/5] PCI: tegra: Add support for PCIe endpoint mode in Tegra194

From: Thierry Reding
Date: Tue Mar 03 2020 - 08:39:01 EST


On Tue, Mar 03, 2020 at 04:24:18PM +0530, Vidya Sagar wrote:
> Add support for the endpoint mode of Synopsys DesignWare core based
> dual mode PCIe controllers present in Tegra194 SoC.
>
> Signed-off-by: Vidya Sagar <vidyas@xxxxxxxxxx>
> ---
> V4:
> * Addressed Lorenzo's review comments
> * Started using threaded irqs instead of kthreads
>
> V3:
> * Addressed Thierry's review comments
>
> V2:
> * Addressed Bjorn's review comments
> * Made changes as part of addressing review comments for other patches
>
> drivers/pci/controller/dwc/Kconfig | 30 +-
> drivers/pci/controller/dwc/pcie-tegra194.c | 681 ++++++++++++++++++++-
> 2 files changed, 693 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
> index 0830dfcfa43a..169cde58dd92 100644
> --- a/drivers/pci/controller/dwc/Kconfig
> +++ b/drivers/pci/controller/dwc/Kconfig
> @@ -248,14 +248,38 @@ config PCI_MESON
> implement the driver.
>
> config PCIE_TEGRA194
> - tristate "NVIDIA Tegra194 (and later) PCIe controller"
> + tristate
> +
> +config PCIE_TEGRA194_HOST
> + tristate "NVIDIA Tegra194 (and later) PCIe controller - Host Mode"
> depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
> depends on PCI_MSI_IRQ_DOMAIN
> select PCIE_DW_HOST
> select PHY_TEGRA194_P2U
> + select PCIE_TEGRA194
> + default y
> + help
> + Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
> + work in host mode. There are two instances of PCIe controllers in
> + Tegra194. This controller can work either as EP or RC. In order to
> + enable host-specific features PCIE_TEGRA194_HOST must be selected and
> + in order to enable device-specific features PCIE_TEGRA194_EP must be
> + selected. This uses the DesignWare core.
> +
> +config PCIE_TEGRA194_EP
> + tristate "NVIDIA Tegra194 (and later) PCIe controller - Endpoint Mode"
> + depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
> + depends on PCI_ENDPOINT
> + select PCIE_DW_EP
> + select PHY_TEGRA194_P2U
> + select PCIE_TEGRA194
> help
> - Say Y here if you want support for DesignWare core based PCIe host
> - controller found in NVIDIA Tegra194 SoC.
> + Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
> + work in host mode. There are two instances of PCIe controllers in
> + Tegra194. This controller can work either as EP or RC. In order to
> + enable host-specific features PCIE_TEGRA194_HOST must be selected and
> + in order to enable device-specific features PCIE_TEGRA194_EP must be
> + selected. This uses the DesignWare core.
>
> config PCIE_UNIPHIER
> bool "Socionext UniPhier PCIe controllers"
> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> index cbe95f0ea0ca..81810e644b23 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -14,6 +14,8 @@
> #include <linux/interrupt.h>
> #include <linux/iopoll.h>
> #include <linux/kernel.h>
> +#include <linux/kfifo.h>
> +#include <linux/kthread.h>

After moving to threaded IRQs, do you still need these includes?

Acked-by: Thierry Reding <treding@xxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature