From: Thierry Reding <thierry.reding@gmail.com>
To: Vidya Sagar <vidyas@nvidia.com>
Cc: bhelgaas@google.com, robh+dt@kernel.org, mark.rutland@arm.com,
jonathanh@nvidia.com, kishon@ti.com, catalin.marinas@arm.com,
will.deacon@arm.com, lorenzo.pieralisi@arm.com,
jingoohan1@gmail.com, gustavo.pimentel@synopsys.com,
mperttunen@nvidia.com, linux-pci@vger.kernel.org,
devicetree@vger.kernel.org, linux-tegra@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, kthota@nvidia.com,
mmaddireddy@nvidia.com, sagar.tv@gmail.com
Subject: Re: [PATCH V2 14/16] phy: tegra: Add PCIe PIPE2UPHY support
Date: Mon, 15 Apr 2019 17:31:48 +0200 [thread overview]
Message-ID: <20190415153148.GJ29254@ulmo> (raw)
In-Reply-To: <1554407683-31580-15-git-send-email-vidyas@nvidia.com>
[-- Attachment #1: Type: text/plain, Size: 6741 bytes --]
On Fri, Apr 05, 2019 at 01:24:41AM +0530, Vidya Sagar wrote:
> Synopsys DesignWare core based PCIe controllers in Tegra 194 SoC interface
> with Universal PHY (UPHY) module through a PIPE2UPHY (P2U) module.
> For each PCIe lane of a controller, there is a P2U unit instantiated at
> hardware level. This driver provides support for the programming required
> for each P2U that is going to be used for a PCIe controller.
>
> Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
> ---
> Changes since [v1]:
> * Added COMPILE_TEST in Kconfig
> * Removed empty phy_ops implementations
> * Modified code according to DT documentation file modifications
>
> drivers/phy/tegra/Kconfig | 7 ++
> drivers/phy/tegra/Makefile | 1 +
> drivers/phy/tegra/pcie-p2u-tegra194.c | 120 ++++++++++++++++++++++++++++++++++
> 3 files changed, 128 insertions(+)
> create mode 100644 drivers/phy/tegra/pcie-p2u-tegra194.c
>
> diff --git a/drivers/phy/tegra/Kconfig b/drivers/phy/tegra/Kconfig
> index a3b1de953fb7..eb93ee72ecf0 100644
> --- a/drivers/phy/tegra/Kconfig
> +++ b/drivers/phy/tegra/Kconfig
> @@ -6,3 +6,10 @@ config PHY_TEGRA_XUSB
>
> To compile this driver as a module, choose M here: the module will
> be called phy-tegra-xusb.
> +
> +config PHY_TEGRA194_PCIE_P2U
> + tristate "NVIDIA Tegra P2U PHY Driver"
> + depends on ARCH_TEGRA || COMPILE_TEST
> + select GENERIC_PHY
> + help
> + Enable this to support the P2U (PIPE to UPHY) that is part of Tegra 19x SOCs.
This should be using tabs for indentation.
> diff --git a/drivers/phy/tegra/Makefile b/drivers/phy/tegra/Makefile
> index 898589238fd9..f85b2c86643d 100644
> --- a/drivers/phy/tegra/Makefile
> +++ b/drivers/phy/tegra/Makefile
> @@ -4,3 +4,4 @@ phy-tegra-xusb-y += xusb.o
> phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_124_SOC) += xusb-tegra124.o
> phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_132_SOC) += xusb-tegra124.o
> phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_210_SOC) += xusb-tegra210.o
> +obj-$(CONFIG_PHY_TEGRA194_PCIE_P2U) += pcie-p2u-tegra194.o
> diff --git a/drivers/phy/tegra/pcie-p2u-tegra194.c b/drivers/phy/tegra/pcie-p2u-tegra194.c
> new file mode 100644
> index 000000000000..d4df8bfa9979
> --- /dev/null
> +++ b/drivers/phy/tegra/pcie-p2u-tegra194.c
> @@ -0,0 +1,120 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * P2U (PIPE to UPHY) driver for Tegra T194 SoC
> + *
> + * Copyright (C) 2019 NVIDIA Corporation.
> + *
> + * Author: Vidya Sagar <vidyas@nvidia.com>
> + */
> +
> +#include <linux/module.h>
> +#include <linux/platform_device.h>
> +#include <linux/phy/phy.h>
> +#include <linux/of.h>
> +#include <linux/err.h>
> +#include <linux/io.h>
> +#include <linux/interrupt.h>
> +#include <linux/delay.h>
> +#include <linux/of_platform.h>
> +#include <soc/tegra/bpmp-abi.h>
It's a good idea to keep these sorted alphabetically. That makes it a
lot easier to insert new ones in the right place subsequently.
> +
> +#define P2U_PERIODIC_EQ_CTRL_GEN3 0xc0
> +#define P2U_PERIODIC_EQ_CTRL_GEN3_PERIODIC_EQ_EN BIT(0)
> +#define P2U_PERIODIC_EQ_CTRL_GEN3_INIT_PRESET_EQ_TRAIN_EN BIT(1)
> +#define P2U_PERIODIC_EQ_CTRL_GEN4 0xc4
> +#define P2U_PERIODIC_EQ_CTRL_GEN4_INIT_PRESET_EQ_TRAIN_EN BIT(1)
> +
> +#define P2U_RX_DEBOUNCE_TIME 0xa4
> +#define P2U_RX_DEBOUNCE_TIME_DEBOUNCE_TIMER_MASK 0xFFFF
Use consistent case for hexadecimal. All other register definitions use
lower-case, so this one should, too.
> +#define P2U_RX_DEBOUNCE_TIME_DEBOUNCE_TIMER_VAL 160
> +
> +struct tegra_p2u {
> + void __iomem *base;
I personally wouldn't bother with the extra padding. A single space is
enough and avoid extra churn if you ever add something here that doesn't
fit into the existing padding space.
> +};
> +
> +static int tegra_p2u_power_on(struct phy *x)
> +{
> + u32 val;
> + struct tegra_p2u *phy = phy_get_drvdata(x);
It's often common to structure these as "reverse christmas tree" so that
the longest lines go first, followed by shorter lines. Not sure if
Kishon cares, though.
> +
> + val = readl(phy->base + P2U_PERIODIC_EQ_CTRL_GEN3);
> + val &= ~P2U_PERIODIC_EQ_CTRL_GEN3_PERIODIC_EQ_EN;
> + val |= P2U_PERIODIC_EQ_CTRL_GEN3_INIT_PRESET_EQ_TRAIN_EN;
> + writel(val, phy->base + P2U_PERIODIC_EQ_CTRL_GEN3);
> +
> + val = readl(phy->base + P2U_PERIODIC_EQ_CTRL_GEN4);
> + val |= P2U_PERIODIC_EQ_CTRL_GEN4_INIT_PRESET_EQ_TRAIN_EN;
> + writel(val, phy->base + P2U_PERIODIC_EQ_CTRL_GEN4);
> +
> + val = readl(phy->base + P2U_RX_DEBOUNCE_TIME);
> + val &= ~P2U_RX_DEBOUNCE_TIME_DEBOUNCE_TIMER_MASK;
> + val |= P2U_RX_DEBOUNCE_TIME_DEBOUNCE_TIMER_VAL;
> + writel(val, phy->base + P2U_RX_DEBOUNCE_TIME);
> +
> + return 0;
> +}
> +
> +static const struct phy_ops ops = {
> + .power_on = tegra_p2u_power_on,
> + .owner = THIS_MODULE,
> +};
> +
> +static int tegra_p2u_probe(struct platform_device *pdev)
> +{
> + struct tegra_p2u *phy;
> + struct phy *generic_phy;
> + struct phy_provider *phy_provider;
> + struct device *dev = &pdev->dev;
> + struct resource *res;
> +
> + phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
> + if (!phy)
> + return -ENOMEM;
> +
> + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ctl");
> + phy->base = devm_ioremap_resource(dev, res);
> + if (IS_ERR(phy->base))
> + return PTR_ERR_OR_ZERO(phy->base);
> +
> + platform_set_drvdata(pdev, phy);
> +
> + generic_phy = devm_phy_create(dev, NULL, &ops);
> + if (IS_ERR(generic_phy))
> + return PTR_ERR_OR_ZERO(generic_phy);
> +
> + phy_set_drvdata(generic_phy, phy);
> +
> + phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
> + if (IS_ERR(phy_provider))
> + return PTR_ERR_OR_ZERO(phy_provider);
> +
> + return 0;
> +}
> +
> +static int tegra_p2u_remove(struct platform_device *pdev)
> +{
> + return 0;
> +}
I think you can drop this.
> +
> +static const struct of_device_id tegra_p2u_id_table[] = {
> + {
> + .compatible = "nvidia,tegra194-p2u",
> + },
> + {}
> +};
> +MODULE_DEVICE_TABLE(of, tegra_p2u_id_table);
> +
> +static struct platform_driver tegra_p2u_driver = {
> + .probe = tegra_p2u_probe,
> + .remove = tegra_p2u_remove,
> + .driver = {
> + .name = "tegra194-p2u",
> + .of_match_table = tegra_p2u_id_table,
> + },
> +};
> +
> +module_platform_driver(tegra_p2u_driver);
> +
> +MODULE_AUTHOR("Vidya Sagar <vidyas@nvidia.com>");
> +MODULE_DESCRIPTION("NVIDIA Tegra PIPE_To_UPHY phy driver");
The driver description is somewhat odd here. Perhaps something like:
"NVIDIA Tegra PIPE to UPHY PHY driver"
?
Thierry
> +MODULE_LICENSE("GPL v2");
> --
> 2.7.4
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding@gmail.com>
To: Vidya Sagar <vidyas@nvidia.com>
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
lorenzo.pieralisi@arm.com, mperttunen@nvidia.com,
mmaddireddy@nvidia.com, linux-pci@vger.kernel.org,
catalin.marinas@arm.com, will.deacon@arm.com,
linux-kernel@vger.kernel.org, kthota@nvidia.com, kishon@ti.com,
linux-tegra@vger.kernel.org, robh+dt@kernel.org,
gustavo.pimentel@synopsys.com, jingoohan1@gmail.com,
bhelgaas@google.com, jonathanh@nvidia.com,
linux-arm-kernel@lists.infradead.org, sagar.tv@gmail.com
Subject: Re: [PATCH V2 14/16] phy: tegra: Add PCIe PIPE2UPHY support
Date: Mon, 15 Apr 2019 17:31:48 +0200 [thread overview]
Message-ID: <20190415153148.GJ29254@ulmo> (raw)
In-Reply-To: <1554407683-31580-15-git-send-email-vidyas@nvidia.com>
[-- Attachment #1.1: Type: text/plain, Size: 6741 bytes --]
On Fri, Apr 05, 2019 at 01:24:41AM +0530, Vidya Sagar wrote:
> Synopsys DesignWare core based PCIe controllers in Tegra 194 SoC interface
> with Universal PHY (UPHY) module through a PIPE2UPHY (P2U) module.
> For each PCIe lane of a controller, there is a P2U unit instantiated at
> hardware level. This driver provides support for the programming required
> for each P2U that is going to be used for a PCIe controller.
>
> Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
> ---
> Changes since [v1]:
> * Added COMPILE_TEST in Kconfig
> * Removed empty phy_ops implementations
> * Modified code according to DT documentation file modifications
>
> drivers/phy/tegra/Kconfig | 7 ++
> drivers/phy/tegra/Makefile | 1 +
> drivers/phy/tegra/pcie-p2u-tegra194.c | 120 ++++++++++++++++++++++++++++++++++
> 3 files changed, 128 insertions(+)
> create mode 100644 drivers/phy/tegra/pcie-p2u-tegra194.c
>
> diff --git a/drivers/phy/tegra/Kconfig b/drivers/phy/tegra/Kconfig
> index a3b1de953fb7..eb93ee72ecf0 100644
> --- a/drivers/phy/tegra/Kconfig
> +++ b/drivers/phy/tegra/Kconfig
> @@ -6,3 +6,10 @@ config PHY_TEGRA_XUSB
>
> To compile this driver as a module, choose M here: the module will
> be called phy-tegra-xusb.
> +
> +config PHY_TEGRA194_PCIE_P2U
> + tristate "NVIDIA Tegra P2U PHY Driver"
> + depends on ARCH_TEGRA || COMPILE_TEST
> + select GENERIC_PHY
> + help
> + Enable this to support the P2U (PIPE to UPHY) that is part of Tegra 19x SOCs.
This should be using tabs for indentation.
> diff --git a/drivers/phy/tegra/Makefile b/drivers/phy/tegra/Makefile
> index 898589238fd9..f85b2c86643d 100644
> --- a/drivers/phy/tegra/Makefile
> +++ b/drivers/phy/tegra/Makefile
> @@ -4,3 +4,4 @@ phy-tegra-xusb-y += xusb.o
> phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_124_SOC) += xusb-tegra124.o
> phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_132_SOC) += xusb-tegra124.o
> phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_210_SOC) += xusb-tegra210.o
> +obj-$(CONFIG_PHY_TEGRA194_PCIE_P2U) += pcie-p2u-tegra194.o
> diff --git a/drivers/phy/tegra/pcie-p2u-tegra194.c b/drivers/phy/tegra/pcie-p2u-tegra194.c
> new file mode 100644
> index 000000000000..d4df8bfa9979
> --- /dev/null
> +++ b/drivers/phy/tegra/pcie-p2u-tegra194.c
> @@ -0,0 +1,120 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * P2U (PIPE to UPHY) driver for Tegra T194 SoC
> + *
> + * Copyright (C) 2019 NVIDIA Corporation.
> + *
> + * Author: Vidya Sagar <vidyas@nvidia.com>
> + */
> +
> +#include <linux/module.h>
> +#include <linux/platform_device.h>
> +#include <linux/phy/phy.h>
> +#include <linux/of.h>
> +#include <linux/err.h>
> +#include <linux/io.h>
> +#include <linux/interrupt.h>
> +#include <linux/delay.h>
> +#include <linux/of_platform.h>
> +#include <soc/tegra/bpmp-abi.h>
It's a good idea to keep these sorted alphabetically. That makes it a
lot easier to insert new ones in the right place subsequently.
> +
> +#define P2U_PERIODIC_EQ_CTRL_GEN3 0xc0
> +#define P2U_PERIODIC_EQ_CTRL_GEN3_PERIODIC_EQ_EN BIT(0)
> +#define P2U_PERIODIC_EQ_CTRL_GEN3_INIT_PRESET_EQ_TRAIN_EN BIT(1)
> +#define P2U_PERIODIC_EQ_CTRL_GEN4 0xc4
> +#define P2U_PERIODIC_EQ_CTRL_GEN4_INIT_PRESET_EQ_TRAIN_EN BIT(1)
> +
> +#define P2U_RX_DEBOUNCE_TIME 0xa4
> +#define P2U_RX_DEBOUNCE_TIME_DEBOUNCE_TIMER_MASK 0xFFFF
Use consistent case for hexadecimal. All other register definitions use
lower-case, so this one should, too.
> +#define P2U_RX_DEBOUNCE_TIME_DEBOUNCE_TIMER_VAL 160
> +
> +struct tegra_p2u {
> + void __iomem *base;
I personally wouldn't bother with the extra padding. A single space is
enough and avoid extra churn if you ever add something here that doesn't
fit into the existing padding space.
> +};
> +
> +static int tegra_p2u_power_on(struct phy *x)
> +{
> + u32 val;
> + struct tegra_p2u *phy = phy_get_drvdata(x);
It's often common to structure these as "reverse christmas tree" so that
the longest lines go first, followed by shorter lines. Not sure if
Kishon cares, though.
> +
> + val = readl(phy->base + P2U_PERIODIC_EQ_CTRL_GEN3);
> + val &= ~P2U_PERIODIC_EQ_CTRL_GEN3_PERIODIC_EQ_EN;
> + val |= P2U_PERIODIC_EQ_CTRL_GEN3_INIT_PRESET_EQ_TRAIN_EN;
> + writel(val, phy->base + P2U_PERIODIC_EQ_CTRL_GEN3);
> +
> + val = readl(phy->base + P2U_PERIODIC_EQ_CTRL_GEN4);
> + val |= P2U_PERIODIC_EQ_CTRL_GEN4_INIT_PRESET_EQ_TRAIN_EN;
> + writel(val, phy->base + P2U_PERIODIC_EQ_CTRL_GEN4);
> +
> + val = readl(phy->base + P2U_RX_DEBOUNCE_TIME);
> + val &= ~P2U_RX_DEBOUNCE_TIME_DEBOUNCE_TIMER_MASK;
> + val |= P2U_RX_DEBOUNCE_TIME_DEBOUNCE_TIMER_VAL;
> + writel(val, phy->base + P2U_RX_DEBOUNCE_TIME);
> +
> + return 0;
> +}
> +
> +static const struct phy_ops ops = {
> + .power_on = tegra_p2u_power_on,
> + .owner = THIS_MODULE,
> +};
> +
> +static int tegra_p2u_probe(struct platform_device *pdev)
> +{
> + struct tegra_p2u *phy;
> + struct phy *generic_phy;
> + struct phy_provider *phy_provider;
> + struct device *dev = &pdev->dev;
> + struct resource *res;
> +
> + phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
> + if (!phy)
> + return -ENOMEM;
> +
> + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ctl");
> + phy->base = devm_ioremap_resource(dev, res);
> + if (IS_ERR(phy->base))
> + return PTR_ERR_OR_ZERO(phy->base);
> +
> + platform_set_drvdata(pdev, phy);
> +
> + generic_phy = devm_phy_create(dev, NULL, &ops);
> + if (IS_ERR(generic_phy))
> + return PTR_ERR_OR_ZERO(generic_phy);
> +
> + phy_set_drvdata(generic_phy, phy);
> +
> + phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
> + if (IS_ERR(phy_provider))
> + return PTR_ERR_OR_ZERO(phy_provider);
> +
> + return 0;
> +}
> +
> +static int tegra_p2u_remove(struct platform_device *pdev)
> +{
> + return 0;
> +}
I think you can drop this.
> +
> +static const struct of_device_id tegra_p2u_id_table[] = {
> + {
> + .compatible = "nvidia,tegra194-p2u",
> + },
> + {}
> +};
> +MODULE_DEVICE_TABLE(of, tegra_p2u_id_table);
> +
> +static struct platform_driver tegra_p2u_driver = {
> + .probe = tegra_p2u_probe,
> + .remove = tegra_p2u_remove,
> + .driver = {
> + .name = "tegra194-p2u",
> + .of_match_table = tegra_p2u_id_table,
> + },
> +};
> +
> +module_platform_driver(tegra_p2u_driver);
> +
> +MODULE_AUTHOR("Vidya Sagar <vidyas@nvidia.com>");
> +MODULE_DESCRIPTION("NVIDIA Tegra PIPE_To_UPHY phy driver");
The driver description is somewhat odd here. Perhaps something like:
"NVIDIA Tegra PIPE to UPHY PHY driver"
?
Thierry
> +MODULE_LICENSE("GPL v2");
> --
> 2.7.4
>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-04-15 15:32 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-04 19:54 [PATCH V2 00/16] Add Tegra194 PCIe support Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 01/16] PCI: Add #defines for PCIe spec r4.0 features Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-11 10:13 ` Thierry Reding
2019-04-11 10:13 ` Thierry Reding
2019-04-16 13:15 ` Vidya Sagar
2019-04-16 13:15 ` Vidya Sagar
2019-04-16 13:15 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 02/16] PCI/PME: Export pcie_pme_disable_msi() API Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-11 10:16 ` Thierry Reding
2019-04-11 10:16 ` Thierry Reding
2019-04-16 13:30 ` Vidya Sagar
2019-04-16 13:30 ` Vidya Sagar
2019-04-16 13:30 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 03/16] PCI: Export pcie_bus_config symbol Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 04/16] PCI: dwc: Perform dbi regs write lock towards the end Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 05/16] PCI: dwc: Move config space capability search API Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 06/16] PCI: dwc: Add ext " Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 07/16] dt-bindings: PCI: designware: Add binding for CDM register check Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-15 14:54 ` Thierry Reding
2019-04-15 14:54 ` Thierry Reding
2019-04-16 14:29 ` Vidya Sagar
2019-04-16 14:29 ` Vidya Sagar
2019-04-16 14:29 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 08/16] PCI: dwc: Add support to enable " Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 09/16] Documentation/devicetree: Add PCIe supports-clkreq property Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 10/16] dt-bindings: PCI: tegra: Add device tree support for T194 Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-15 15:08 ` Thierry Reding
2019-04-15 15:08 ` Thierry Reding
2019-04-16 15:33 ` Vidya Sagar
2019-04-16 15:33 ` Vidya Sagar
2019-04-16 15:33 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 11/16] dt-bindings: PHY: P2U: Add Tegra 194 P2U block Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 12/16] arm64: tegra: Add P2U and PCIe controller nodes to Tegra194 DT Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-15 15:15 ` Thierry Reding
2019-04-15 15:15 ` Thierry Reding
2019-04-16 17:48 ` Vidya Sagar
2019-04-16 17:48 ` Vidya Sagar
2019-04-16 17:48 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 13/16] arm64: tegra: Enable PCIe slots in P2972-0000 board Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-15 15:12 ` Thierry Reding
2019-04-15 15:12 ` Thierry Reding
2019-04-16 17:55 ` Vidya Sagar
2019-04-16 17:55 ` Vidya Sagar
2019-04-16 17:55 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 14/16] phy: tegra: Add PCIe PIPE2UPHY support Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-15 15:31 ` Thierry Reding [this message]
2019-04-15 15:31 ` Thierry Reding
2019-04-15 15:33 ` Thierry Reding
2019-04-15 15:33 ` Thierry Reding
2019-04-16 18:14 ` Vidya Sagar
2019-04-16 18:14 ` Vidya Sagar
2019-04-16 18:14 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 15/16] PCI: tegra: Add Tegra194 PCIe support Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` [PATCH V2 16/16] arm64: Add Tegra194 PCIe driver to defconfig Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
2019-04-04 19:54 ` Vidya Sagar
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=20190415153148.GJ29254@ulmo \
--to=thierry.reding@gmail.com \
--cc=bhelgaas@google.com \
--cc=catalin.marinas@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=gustavo.pimentel@synopsys.com \
--cc=jingoohan1@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=kishon@ti.com \
--cc=kthota@nvidia.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=mark.rutland@arm.com \
--cc=mmaddireddy@nvidia.com \
--cc=mperttunen@nvidia.com \
--cc=robh+dt@kernel.org \
--cc=sagar.tv@gmail.com \
--cc=vidyas@nvidia.com \
--cc=will.deacon@arm.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.