All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Grant Likely
	<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Andrew Murray <andrew.murray-5wv7dgnIgG8@public.gmane.org>,
	Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Thomas Petazzoni
	<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 10/14] PCI: tegra: Move PCIe driver to drivers/pci/host
Date: Fri, 11 Jan 2013 04:52:46 +0100	[thread overview]
Message-ID: <20130111035246.GB28094@avionic-0098.adnet.avionic-design.de> (raw)
In-Reply-To: <50EF616E.7040609-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 5817 bytes --]

On Thu, Jan 10, 2013 at 05:48:46PM -0700, Stephen Warren wrote:
> On 01/09/2013 01:43 PM, Thierry Reding wrote:
> > Move the PCIe driver from arch/arm/mach-tegra into the drivers/pci/host
> > directory. The motivation is to collect various host controller drivers
> > in the same location in order to facilitate refactoring.
> > 
> > The Tegra PCIe driver has been largely rewritten, both in order to turn
> > it into a proper platform driver and to add MSI (based on code by
> > Krishna Kishore <kthota-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>) as well as device tree support.
> 
> > diff --git a/arch/arm/mach-tegra/board-dt-tegra20.c b/arch/arm/mach-tegra/board-dt-tegra20.c
> 
> >  static void __init trimslice_init(void)
> >  {
> >  #ifdef CONFIG_TEGRA_PCI
> > -	int ret;
> > -
> > -	ret = tegra_pcie_init(true, true);
> > -	if (ret)
> > -		pr_err("tegra_pci_init() failed: %d\n", ret);
> > +	platform_device_register(&tegra_pcie_device);
> 
> That struct doesn't actually exist anywhere; only an extern definition
> is added (and that extern definition isn't removed by patch 14 either).

Right, this shouldn't be there. In fact TEGRA_PCI is removed by this
patch, so I should go over the code more carefully again.

> > diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
> 
> > +config PCI_TEGRA
> > +	bool "NVIDIA Tegra PCIe controller"
> > +	depends on ARCH_TEGRA_2x_SOC
> 
> Perhaps depend on ARCH_TEGRA; that will save churn once this is ported
> to Tegra30, and shouldn't cause any problems before then.

Okay, I can do that.

> > diff --git a/drivers/pci/host/pci-tegra.c b/drivers/pci/host/pci-tegra.c
> 
> > +#define AFI_INTR_CODE		0xb8
> > +#define  AFI_INTR_CODE_MASK	0xf
> > +#define  AFI_INTR_MASTER_ABORT	4
> > +#define  AFI_INTR_LEGACY	6
> 
> Adding defines for at least some other codes here, would help further
> below ...
> 
> > +static irqreturn_t tegra_pcie_isr(int irq, void *arg)
> 
> > +	if (code == AFI_INTR_MASTER_ABORT) {
> > +		dev_dbg(pcie->dev, "%s, signature: %08x\n", err_msg[code],
> > +			signature);
> > +	} else
> > +		dev_err(pcie->dev, "%s, signature: %08x\n", err_msg[code],
> > +			signature);
> > +
> > +	if (code == 3 || code == 4 || code == 7) {
> 
> ... i.e. here.

Will do.

> 
> > +		u32 fpci = afi_readl(pcie, AFI_UPPER_FPCI_ADDRESS) & 0xff;
> > +		u64 address = (u64)fpci << 32 | (signature & 0xfffffffc);
> > +		dev_dbg(pcie->dev, "  FPCI address: %10llx\n", address);
> 
> I'd suggest making that dev_err(), or at least something higher than
> debug, since the message indicating the error happened is dev_err(), so
> the complete details may as well be available since they're small.

I can make it conditional on !AFI_INTR_MASTER_ABORT to match the
previous output. Or rather move it into the branches above.

> > +static int tegra_pcie_enable_controller(struct tegra_pcie *pcie)
> > +{
> > +	unsigned int timeout;
> > +	unsigned long value;
> > +
> > +	/* enable dual controller and both ports */
> > +	value = afi_readl(pcie, AFI_PCIE_CONFIG);
> > +	value &= ~(AFI_PCIE_CONFIG_PCIEC0_DISABLE_DEVICE |
> > +		   AFI_PCIE_CONFIG_PCIEC1_DISABLE_DEVICE |
> > +		   AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_MASK);
> > +	value |= AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_DUAL;
> > +	afi_writel(pcie, value, AFI_PCIE_CONFIG);
> 
> Eventually, we should probably derive the port enables from the state of
> the root port DT nodes, so that we can disable some and presumably save
> a little power. Also, I notice that the nvidia,num-lanes property isn't
> implemented yet. Still, we can probably take care of this later.

Yes, the plan was to eventually derive the disable bits from the port
status and setup the XBAR_CONFIG field based on the combination of
nvidia,num-lanes properties.

I assume we should simply fail if the configuration specified by
nvidia,num-lanes is invalid?

> > +static void tegra_pcie_power_off(struct tegra_pcie *pcie)
> 
> > +	if (!IS_ERR_OR_NULL(pcie->pex_clk_supply)) {
> 
> Hmm. I think we should make supplies mandatory; it doesn't make sense
> for regulator support to be disabled on Tegra, and where a specific
> board doesn't actually have a regulator, you're supposed to provide a
> dummy fixed regulator so the driver doesn't have to care.
> 
> The same comment obviously applies to tegra_pcie_power_on() and wherever
> regulator_get() happens.

Okay, I'll fix that.

> > +static int tegra_pcie_parse_dt(struct tegra_pcie *pcie)
> 
> > +	pcie->vdd_supply = devm_regulator_get(pcie->dev, "vdd");
> > +	if (IS_ERR(pcie->vdd_supply))
> > +		return PTR_ERR(pcie->vdd_supply);
> > +
> > +	pcie->pex_clk_supply = devm_regulator_get(pcie->dev, "pex-clk");
> > +	if (IS_ERR(pcie->pex_clk_supply))
> > +		return PTR_ERR(pcie->pex_clk_supply);
> 
> Oh, I guess the regulator_get() calls are already strict.

Yeah, I think they can't return NULL, right? In that case I can just
drop the extra checks in tegra_pcie_power_{on,off}().

> > +static int tegra_pcie_add_port(struct tegra_pcie *pcie, struct device_node *np)
> 
> > +	port = devm_kzalloc(pcie->dev, sizeof(*port), GFP_KERNEL);
> > +	if (!port)
> > +		return -ENOMEM;
> > +
> > +	INIT_LIST_HEAD(&port->list);
> > +	port->index = index;
> > +	port->pcie = pcie;
> > +
> > +	port->base = devm_request_and_ioremap(pcie->dev, &regs);
> > +	if (!port->base)
> > +		return -EADDRNOTAVAIL;
> > +
> > +	if (!tegra_pcie_port_check_link(port)) {
> > +		dev_info(pcie->dev, "link %u down, ignoring\n", port->index);
> 
> Perhaps devm_kfree(port)? Not a big leak, but equally if you don't, it's
> an unreferenced memory block.

I suppose I should do devm_iounmap() and devm_release_mem_region() as
well.

Thanks for reviewing!
Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding@avionic-design.de>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: linux-tegra@vger.kernel.org,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	Russell King <linux@arm.linux.org.uk>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Andrew Murray <andrew.murray@arm.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	devicetree-discuss@lists.ozlabs.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH 10/14] PCI: tegra: Move PCIe driver to drivers/pci/host
Date: Fri, 11 Jan 2013 04:52:46 +0100	[thread overview]
Message-ID: <20130111035246.GB28094@avionic-0098.adnet.avionic-design.de> (raw)
In-Reply-To: <50EF616E.7040609@wwwdotorg.org>

[-- Attachment #1: Type: text/plain, Size: 5788 bytes --]

On Thu, Jan 10, 2013 at 05:48:46PM -0700, Stephen Warren wrote:
> On 01/09/2013 01:43 PM, Thierry Reding wrote:
> > Move the PCIe driver from arch/arm/mach-tegra into the drivers/pci/host
> > directory. The motivation is to collect various host controller drivers
> > in the same location in order to facilitate refactoring.
> > 
> > The Tegra PCIe driver has been largely rewritten, both in order to turn
> > it into a proper platform driver and to add MSI (based on code by
> > Krishna Kishore <kthota@nvidia.com>) as well as device tree support.
> 
> > diff --git a/arch/arm/mach-tegra/board-dt-tegra20.c b/arch/arm/mach-tegra/board-dt-tegra20.c
> 
> >  static void __init trimslice_init(void)
> >  {
> >  #ifdef CONFIG_TEGRA_PCI
> > -	int ret;
> > -
> > -	ret = tegra_pcie_init(true, true);
> > -	if (ret)
> > -		pr_err("tegra_pci_init() failed: %d\n", ret);
> > +	platform_device_register(&tegra_pcie_device);
> 
> That struct doesn't actually exist anywhere; only an extern definition
> is added (and that extern definition isn't removed by patch 14 either).

Right, this shouldn't be there. In fact TEGRA_PCI is removed by this
patch, so I should go over the code more carefully again.

> > diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
> 
> > +config PCI_TEGRA
> > +	bool "NVIDIA Tegra PCIe controller"
> > +	depends on ARCH_TEGRA_2x_SOC
> 
> Perhaps depend on ARCH_TEGRA; that will save churn once this is ported
> to Tegra30, and shouldn't cause any problems before then.

Okay, I can do that.

> > diff --git a/drivers/pci/host/pci-tegra.c b/drivers/pci/host/pci-tegra.c
> 
> > +#define AFI_INTR_CODE		0xb8
> > +#define  AFI_INTR_CODE_MASK	0xf
> > +#define  AFI_INTR_MASTER_ABORT	4
> > +#define  AFI_INTR_LEGACY	6
> 
> Adding defines for at least some other codes here, would help further
> below ...
> 
> > +static irqreturn_t tegra_pcie_isr(int irq, void *arg)
> 
> > +	if (code == AFI_INTR_MASTER_ABORT) {
> > +		dev_dbg(pcie->dev, "%s, signature: %08x\n", err_msg[code],
> > +			signature);
> > +	} else
> > +		dev_err(pcie->dev, "%s, signature: %08x\n", err_msg[code],
> > +			signature);
> > +
> > +	if (code == 3 || code == 4 || code == 7) {
> 
> ... i.e. here.

Will do.

> 
> > +		u32 fpci = afi_readl(pcie, AFI_UPPER_FPCI_ADDRESS) & 0xff;
> > +		u64 address = (u64)fpci << 32 | (signature & 0xfffffffc);
> > +		dev_dbg(pcie->dev, "  FPCI address: %10llx\n", address);
> 
> I'd suggest making that dev_err(), or at least something higher than
> debug, since the message indicating the error happened is dev_err(), so
> the complete details may as well be available since they're small.

I can make it conditional on !AFI_INTR_MASTER_ABORT to match the
previous output. Or rather move it into the branches above.

> > +static int tegra_pcie_enable_controller(struct tegra_pcie *pcie)
> > +{
> > +	unsigned int timeout;
> > +	unsigned long value;
> > +
> > +	/* enable dual controller and both ports */
> > +	value = afi_readl(pcie, AFI_PCIE_CONFIG);
> > +	value &= ~(AFI_PCIE_CONFIG_PCIEC0_DISABLE_DEVICE |
> > +		   AFI_PCIE_CONFIG_PCIEC1_DISABLE_DEVICE |
> > +		   AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_MASK);
> > +	value |= AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_DUAL;
> > +	afi_writel(pcie, value, AFI_PCIE_CONFIG);
> 
> Eventually, we should probably derive the port enables from the state of
> the root port DT nodes, so that we can disable some and presumably save
> a little power. Also, I notice that the nvidia,num-lanes property isn't
> implemented yet. Still, we can probably take care of this later.

Yes, the plan was to eventually derive the disable bits from the port
status and setup the XBAR_CONFIG field based on the combination of
nvidia,num-lanes properties.

I assume we should simply fail if the configuration specified by
nvidia,num-lanes is invalid?

> > +static void tegra_pcie_power_off(struct tegra_pcie *pcie)
> 
> > +	if (!IS_ERR_OR_NULL(pcie->pex_clk_supply)) {
> 
> Hmm. I think we should make supplies mandatory; it doesn't make sense
> for regulator support to be disabled on Tegra, and where a specific
> board doesn't actually have a regulator, you're supposed to provide a
> dummy fixed regulator so the driver doesn't have to care.
> 
> The same comment obviously applies to tegra_pcie_power_on() and wherever
> regulator_get() happens.

Okay, I'll fix that.

> > +static int tegra_pcie_parse_dt(struct tegra_pcie *pcie)
> 
> > +	pcie->vdd_supply = devm_regulator_get(pcie->dev, "vdd");
> > +	if (IS_ERR(pcie->vdd_supply))
> > +		return PTR_ERR(pcie->vdd_supply);
> > +
> > +	pcie->pex_clk_supply = devm_regulator_get(pcie->dev, "pex-clk");
> > +	if (IS_ERR(pcie->pex_clk_supply))
> > +		return PTR_ERR(pcie->pex_clk_supply);
> 
> Oh, I guess the regulator_get() calls are already strict.

Yeah, I think they can't return NULL, right? In that case I can just
drop the extra checks in tegra_pcie_power_{on,off}().

> > +static int tegra_pcie_add_port(struct tegra_pcie *pcie, struct device_node *np)
> 
> > +	port = devm_kzalloc(pcie->dev, sizeof(*port), GFP_KERNEL);
> > +	if (!port)
> > +		return -ENOMEM;
> > +
> > +	INIT_LIST_HEAD(&port->list);
> > +	port->index = index;
> > +	port->pcie = pcie;
> > +
> > +	port->base = devm_request_and_ioremap(pcie->dev, &regs);
> > +	if (!port->base)
> > +		return -EADDRNOTAVAIL;
> > +
> > +	if (!tegra_pcie_port_check_link(port)) {
> > +		dev_info(pcie->dev, "link %u down, ignoring\n", port->index);
> 
> Perhaps devm_kfree(port)? Not a big leak, but equally if you don't, it's
> an unreferenced memory block.

I suppose I should do devm_iounmap() and devm_release_mem_region() as
well.

Thanks for reviewing!
Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: thierry.reding@avionic-design.de (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 10/14] PCI: tegra: Move PCIe driver to drivers/pci/host
Date: Fri, 11 Jan 2013 04:52:46 +0100	[thread overview]
Message-ID: <20130111035246.GB28094@avionic-0098.adnet.avionic-design.de> (raw)
In-Reply-To: <50EF616E.7040609@wwwdotorg.org>

On Thu, Jan 10, 2013 at 05:48:46PM -0700, Stephen Warren wrote:
> On 01/09/2013 01:43 PM, Thierry Reding wrote:
> > Move the PCIe driver from arch/arm/mach-tegra into the drivers/pci/host
> > directory. The motivation is to collect various host controller drivers
> > in the same location in order to facilitate refactoring.
> > 
> > The Tegra PCIe driver has been largely rewritten, both in order to turn
> > it into a proper platform driver and to add MSI (based on code by
> > Krishna Kishore <kthota@nvidia.com>) as well as device tree support.
> 
> > diff --git a/arch/arm/mach-tegra/board-dt-tegra20.c b/arch/arm/mach-tegra/board-dt-tegra20.c
> 
> >  static void __init trimslice_init(void)
> >  {
> >  #ifdef CONFIG_TEGRA_PCI
> > -	int ret;
> > -
> > -	ret = tegra_pcie_init(true, true);
> > -	if (ret)
> > -		pr_err("tegra_pci_init() failed: %d\n", ret);
> > +	platform_device_register(&tegra_pcie_device);
> 
> That struct doesn't actually exist anywhere; only an extern definition
> is added (and that extern definition isn't removed by patch 14 either).

Right, this shouldn't be there. In fact TEGRA_PCI is removed by this
patch, so I should go over the code more carefully again.

> > diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
> 
> > +config PCI_TEGRA
> > +	bool "NVIDIA Tegra PCIe controller"
> > +	depends on ARCH_TEGRA_2x_SOC
> 
> Perhaps depend on ARCH_TEGRA; that will save churn once this is ported
> to Tegra30, and shouldn't cause any problems before then.

Okay, I can do that.

> > diff --git a/drivers/pci/host/pci-tegra.c b/drivers/pci/host/pci-tegra.c
> 
> > +#define AFI_INTR_CODE		0xb8
> > +#define  AFI_INTR_CODE_MASK	0xf
> > +#define  AFI_INTR_MASTER_ABORT	4
> > +#define  AFI_INTR_LEGACY	6
> 
> Adding defines for at least some other codes here, would help further
> below ...
> 
> > +static irqreturn_t tegra_pcie_isr(int irq, void *arg)
> 
> > +	if (code == AFI_INTR_MASTER_ABORT) {
> > +		dev_dbg(pcie->dev, "%s, signature: %08x\n", err_msg[code],
> > +			signature);
> > +	} else
> > +		dev_err(pcie->dev, "%s, signature: %08x\n", err_msg[code],
> > +			signature);
> > +
> > +	if (code == 3 || code == 4 || code == 7) {
> 
> ... i.e. here.

Will do.

> 
> > +		u32 fpci = afi_readl(pcie, AFI_UPPER_FPCI_ADDRESS) & 0xff;
> > +		u64 address = (u64)fpci << 32 | (signature & 0xfffffffc);
> > +		dev_dbg(pcie->dev, "  FPCI address: %10llx\n", address);
> 
> I'd suggest making that dev_err(), or at least something higher than
> debug, since the message indicating the error happened is dev_err(), so
> the complete details may as well be available since they're small.

I can make it conditional on !AFI_INTR_MASTER_ABORT to match the
previous output. Or rather move it into the branches above.

> > +static int tegra_pcie_enable_controller(struct tegra_pcie *pcie)
> > +{
> > +	unsigned int timeout;
> > +	unsigned long value;
> > +
> > +	/* enable dual controller and both ports */
> > +	value = afi_readl(pcie, AFI_PCIE_CONFIG);
> > +	value &= ~(AFI_PCIE_CONFIG_PCIEC0_DISABLE_DEVICE |
> > +		   AFI_PCIE_CONFIG_PCIEC1_DISABLE_DEVICE |
> > +		   AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_MASK);
> > +	value |= AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_DUAL;
> > +	afi_writel(pcie, value, AFI_PCIE_CONFIG);
> 
> Eventually, we should probably derive the port enables from the state of
> the root port DT nodes, so that we can disable some and presumably save
> a little power. Also, I notice that the nvidia,num-lanes property isn't
> implemented yet. Still, we can probably take care of this later.

Yes, the plan was to eventually derive the disable bits from the port
status and setup the XBAR_CONFIG field based on the combination of
nvidia,num-lanes properties.

I assume we should simply fail if the configuration specified by
nvidia,num-lanes is invalid?

> > +static void tegra_pcie_power_off(struct tegra_pcie *pcie)
> 
> > +	if (!IS_ERR_OR_NULL(pcie->pex_clk_supply)) {
> 
> Hmm. I think we should make supplies mandatory; it doesn't make sense
> for regulator support to be disabled on Tegra, and where a specific
> board doesn't actually have a regulator, you're supposed to provide a
> dummy fixed regulator so the driver doesn't have to care.
> 
> The same comment obviously applies to tegra_pcie_power_on() and wherever
> regulator_get() happens.

Okay, I'll fix that.

> > +static int tegra_pcie_parse_dt(struct tegra_pcie *pcie)
> 
> > +	pcie->vdd_supply = devm_regulator_get(pcie->dev, "vdd");
> > +	if (IS_ERR(pcie->vdd_supply))
> > +		return PTR_ERR(pcie->vdd_supply);
> > +
> > +	pcie->pex_clk_supply = devm_regulator_get(pcie->dev, "pex-clk");
> > +	if (IS_ERR(pcie->pex_clk_supply))
> > +		return PTR_ERR(pcie->pex_clk_supply);
> 
> Oh, I guess the regulator_get() calls are already strict.

Yeah, I think they can't return NULL, right? In that case I can just
drop the extra checks in tegra_pcie_power_{on,off}().

> > +static int tegra_pcie_add_port(struct tegra_pcie *pcie, struct device_node *np)
> 
> > +	port = devm_kzalloc(pcie->dev, sizeof(*port), GFP_KERNEL);
> > +	if (!port)
> > +		return -ENOMEM;
> > +
> > +	INIT_LIST_HEAD(&port->list);
> > +	port->index = index;
> > +	port->pcie = pcie;
> > +
> > +	port->base = devm_request_and_ioremap(pcie->dev, &regs);
> > +	if (!port->base)
> > +		return -EADDRNOTAVAIL;
> > +
> > +	if (!tegra_pcie_port_check_link(port)) {
> > +		dev_info(pcie->dev, "link %u down, ignoring\n", port->index);
> 
> Perhaps devm_kfree(port)? Not a big leak, but equally if you don't, it's
> an unreferenced memory block.

I suppose I should do devm_iounmap() and devm_release_mem_region() as
well.

Thanks for reviewing!
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130111/c0fe7f46/attachment.sig>

  parent reply	other threads:[~2013-01-11  3:52 UTC|newest]

Thread overview: 267+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-09 20:43 [PATCH 00/14] Rewrite Tegra PCIe driver Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 02/14] of/pci: Add of_pci_get_devfn() function Thierry Reding
2013-01-09 20:43   ` Thierry Reding
     [not found]   ` <1357764194-12677-3-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-01-11  0:09     ` Stephen Warren
2013-01-11  0:09       ` Stephen Warren
2013-01-11  0:09       ` Stephen Warren
2013-01-11  4:06       ` Thierry Reding
2013-01-11  4:06         ` Thierry Reding
2013-01-09 20:43 ` [PATCH 05/14] lib: Add I/O map cache implementation Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
     [not found]   ` <1357764194-12677-6-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-01-09 21:19     ` Arnd Bergmann
2013-01-09 21:19       ` Arnd Bergmann
2013-01-09 21:19       ` Arnd Bergmann
2013-01-09 21:54       ` Thierry Reding
2013-01-09 21:54         ` Thierry Reding
     [not found]         ` <20130109215428.GA13648-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2013-01-09 22:10           ` Arnd Bergmann
2013-01-09 22:10             ` Arnd Bergmann
2013-01-09 22:10             ` Arnd Bergmann
     [not found]             ` <201301092210.49452.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-09 23:12               ` Stephen Warren
2013-01-09 23:12                 ` Stephen Warren
2013-01-09 23:12                 ` Stephen Warren
2013-01-09 23:17                 ` Jason Gunthorpe
2013-01-09 23:17                   ` Jason Gunthorpe
     [not found]                   ` <20130109231758.GA27065-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-01-10  7:19                     ` Thierry Reding
2013-01-10  7:19                       ` Thierry Reding
2013-01-10  7:19                       ` Thierry Reding
     [not found]                       ` <20130110071937.GG15212-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2013-01-10  9:17                         ` Arnd Bergmann
2013-01-10  9:17                           ` Arnd Bergmann
2013-01-10  9:17                           ` Arnd Bergmann
     [not found]                           ` <201301100917.19577.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-10 10:25                             ` Thierry Reding
2013-01-10 10:25                               ` Thierry Reding
2013-01-10 10:25                               ` Thierry Reding
     [not found]                               ` <20130110102544.GA5546-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2013-01-10 18:20                                 ` Jason Gunthorpe
2013-01-10 18:20                                   ` Jason Gunthorpe
2013-01-10 18:20                                   ` Jason Gunthorpe
     [not found]                                   ` <20130110182007.GA28004-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-01-10 18:55                                     ` Thierry Reding
2013-01-10 18:55                                       ` Thierry Reding
2013-01-10 18:55                                       ` Thierry Reding
2013-01-10 19:03                                       ` Thierry Reding
2013-01-10 19:03                                         ` Thierry Reding
2013-01-10 19:24                                         ` Jason Gunthorpe
2013-01-10 19:24                                           ` Jason Gunthorpe
     [not found]                                           ` <20130110192417.GA18478-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-01-10 20:20                                             ` Thierry Reding
2013-01-10 20:20                                               ` Thierry Reding
2013-01-10 20:20                                               ` Thierry Reding
     [not found]                                               ` <20130110202007.GA26139-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2013-01-10 21:06                                                 ` Jason Gunthorpe
2013-01-10 21:06                                                   ` Jason Gunthorpe
2013-01-10 21:06                                                   ` Jason Gunthorpe
2013-01-16 10:18                                             ` Thierry Reding
2013-01-16 10:18                                               ` Thierry Reding
2013-01-16 10:18                                               ` Thierry Reding
     [not found]                                               ` <20130116101822.GA17706-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2013-01-16 11:25                                                 ` Russell King - ARM Linux
2013-01-16 11:25                                                   ` Russell King - ARM Linux
2013-01-16 11:25                                                   ` Russell King - ARM Linux
     [not found]                                                   ` <20130116112556.GR23505-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-01-16 11:52                                                     ` Thierry Reding
2013-01-16 11:52                                                       ` Thierry Reding
2013-01-16 11:52                                                       ` Thierry Reding
2013-01-10 18:26                                 ` Arnd Bergmann
2013-01-10 18:26                                   ` Arnd Bergmann
2013-01-10 18:26                                   ` Arnd Bergmann
     [not found]                                   ` <201301101826.56248.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-10 18:57                                     ` Thierry Reding
2013-01-10 18:57                                       ` Thierry Reding
2013-01-10 18:57                                       ` Thierry Reding
2013-01-10  7:10               ` Thierry Reding
2013-01-10  7:10                 ` Thierry Reding
2013-01-10  7:10                 ` Thierry Reding
2013-01-09 21:28     ` Russell King - ARM Linux
2013-01-09 21:28       ` Russell King - ARM Linux
2013-01-09 21:28       ` Russell King - ARM Linux
     [not found]       ` <20130109212847.GT3931-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-01-09 21:57         ` Thierry Reding
2013-01-09 21:57           ` Thierry Reding
2013-01-09 21:57           ` Thierry Reding
     [not found] ` <1357764194-12677-1-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-01-09 20:43   ` [PATCH 01/14] of/pci: Provide support for parsing PCI DT ranges property Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-11  0:06     ` Stephen Warren
2013-01-11  0:06       ` Stephen Warren
     [not found]       ` <50EF5798.6040405-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-11  4:02         ` Thierry Reding
2013-01-11  4:02           ` Thierry Reding
2013-01-11  4:02           ` Thierry Reding
2013-01-09 20:43   ` [PATCH 03/14] of/pci: Add of_pci_get_bus() function Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43   ` [PATCH 04/14] of/pci: Add of_pci_parse_bus_range() function Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43   ` [PATCH 06/14] ARM: pci: Keep pci_common_init() around after init Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43     ` Thierry Reding
     [not found]     ` <1357764194-12677-7-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-02-05 20:41       ` Thierry Reding
2013-02-05 20:41         ` Thierry Reding
2013-02-05 20:41         ` Thierry Reding
     [not found]         ` <20130205204147.GA29726-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2013-02-06 16:30           ` Russell King - ARM Linux
2013-02-06 16:30             ` Russell King - ARM Linux
2013-02-06 16:30             ` Russell King - ARM Linux
     [not found]             ` <20130206163041.GG17833-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-02-06 19:35               ` Thierry Reding
2013-02-06 19:35                 ` Thierry Reding
2013-02-06 19:35                 ` Thierry Reding
2013-02-06  8:36       ` Thomas Petazzoni
2013-02-06  8:36         ` Thomas Petazzoni
2013-02-06  8:36         ` Thomas Petazzoni
2013-02-06 16:38       ` Linus Walleij
2013-02-06 16:38         ` Linus Walleij
2013-02-06 16:38         ` Linus Walleij
2013-02-07  0:54         ` Arnd Bergmann
2013-02-07  0:54           ` Arnd Bergmann
2013-02-06 17:07           ` Linus Walleij
2013-02-06 17:07             ` Linus Walleij
2013-02-06 17:07             ` Linus Walleij
2013-02-07  1:20             ` Arnd Bergmann
2013-02-07  1:20               ` Arnd Bergmann
2013-02-07  1:20               ` Arnd Bergmann
2013-01-09 20:43   ` [PATCH 07/14] ARM: pci: Allow passing per-controller private data Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43   ` [PATCH 08/14] ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43   ` [PATCH 11/14] ARM: tegra: tamonten: Add PCIe support Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43     ` Thierry Reding
     [not found]     ` <1357764194-12677-12-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-01-09 21:23       ` Arnd Bergmann
2013-01-09 21:23         ` Arnd Bergmann
2013-01-09 21:23         ` Arnd Bergmann
     [not found]         ` <201301092123.37491.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-10 20:21           ` Thierry Reding
2013-01-10 20:21             ` Thierry Reding
2013-01-10 20:21             ` Thierry Reding
2013-01-09 20:43   ` [PATCH 14/14] ARM: tegra: trimslice: Initialize PCIe from DT Thierry Reding
2013-01-09 20:43     ` Thierry Reding
2013-01-09 20:43     ` Thierry Reding
     [not found]     ` <1357764194-12677-15-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-01-10 23:56       ` Stephen Warren
2013-01-10 23:56         ` Stephen Warren
2013-01-10 23:56         ` Stephen Warren
     [not found]         ` <50EF5537.6080602-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-11 18:48           ` Thierry Reding
2013-01-11 18:48             ` Thierry Reding
2013-01-11 18:48             ` Thierry Reding
2013-01-09 21:25   ` [PATCH 00/14] Rewrite Tegra PCIe driver Thomas Petazzoni
2013-01-09 21:25     ` Thomas Petazzoni
2013-01-09 21:25     ` Thomas Petazzoni
2013-01-10  6:55     ` Thierry Reding
2013-01-10  6:55       ` Thierry Reding
2013-01-10  6:55       ` Thierry Reding
2013-01-10  8:34       ` Thomas Petazzoni
2013-01-10  8:34         ` Thomas Petazzoni
2013-03-06 18:16   ` Murali Karicheri
2013-01-09 20:43 ` [PATCH 09/14] ARM: tegra: Move pmc.h to include/mach Thierry Reding
2013-01-09 20:43   ` Thierry Reding
     [not found]   ` <1357764194-12677-10-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-01-11  0:15     ` Stephen Warren
2013-01-11  0:15       ` Stephen Warren
2013-01-11  0:15       ` Stephen Warren
     [not found]       ` <50EF598B.2030307-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-11  4:08         ` Thierry Reding
2013-01-11  4:08           ` Thierry Reding
2013-01-11  4:08           ` Thierry Reding
2013-01-09 20:43 ` [PATCH 10/14] PCI: tegra: Move PCIe driver to drivers/pci/host Thierry Reding
2013-01-09 20:43   ` Thierry Reding
     [not found]   ` <1357764194-12677-11-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-01-09 21:22     ` Arnd Bergmann
2013-01-09 21:22       ` Arnd Bergmann
2013-01-09 21:22       ` Arnd Bergmann
     [not found]       ` <201301092122.08011.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-09 21:58         ` Thierry Reding
2013-01-09 21:58           ` Thierry Reding
2013-01-09 21:58           ` Thierry Reding
2013-01-09 22:03           ` Arnd Bergmann
2013-01-09 22:03             ` Arnd Bergmann
2013-01-11  0:48     ` Stephen Warren
2013-01-11  0:48       ` Stephen Warren
2013-01-11  0:48       ` Stephen Warren
     [not found]       ` <50EF616E.7040609-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-11  3:52         ` Thierry Reding [this message]
2013-01-11  3:52           ` Thierry Reding
2013-01-11  3:52           ` Thierry Reding
2013-01-11 20:34           ` Stephen Warren
2013-01-11 20:34             ` Stephen Warren
2013-02-13 23:11     ` Thomas Petazzoni
2013-02-13 23:11       ` Thomas Petazzoni
2013-02-13 23:11       ` Thomas Petazzoni
2013-01-10 23:54   ` Stephen Warren
2013-01-10 23:54     ` Stephen Warren
2013-01-11  3:40     ` Thierry Reding
2013-01-11  3:40       ` Thierry Reding
     [not found]       ` <20130111034015.GA28094-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2013-01-11 15:36         ` Arnd Bergmann
2013-01-11 15:36           ` Arnd Bergmann
2013-01-11 15:36           ` Arnd Bergmann
     [not found]           ` <201301111536.14799.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-11 15:45             ` Thierry Reding
2013-01-11 15:45               ` Thierry Reding
2013-01-11 15:45               ` Thierry Reding
     [not found]               ` <20130111154516.GA25335-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2013-01-12 12:36                 ` Thierry Reding
2013-01-12 12:36                   ` Thierry Reding
2013-01-12 12:36                   ` Thierry Reding
2013-01-12 21:12                   ` Arnd Bergmann
2013-01-12 21:12                     ` Arnd Bergmann
2013-01-13  9:58                     ` Thierry Reding
2013-01-13  9:58                       ` Thierry Reding
     [not found]                       ` <20130113095806.GA31966-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2013-01-14  9:57                         ` Andrew Murray
2013-01-14  9:57                           ` Andrew Murray
2013-01-14  9:57                           ` Andrew Murray
2013-01-14  9:57                           ` Andrew Murray
     [not found]                           ` <20130114095706.GA23467-5wv7dgnIgG8@public.gmane.org>
2013-01-15 12:08                             ` Thierry Reding
2013-01-15 12:08                               ` Thierry Reding
2013-01-15 12:08                               ` Thierry Reding
2013-01-15 12:08                               ` Thierry Reding
2013-01-15 12:44                               ` Arnd Bergmann
2013-01-15 12:44                                 ` Arnd Bergmann
2013-01-15 12:44                                 ` Arnd Bergmann
     [not found]                                 ` <201301151244.12767.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-15 15:40                                   ` Andrew Murray
2013-01-15 15:40                                     ` Andrew Murray
2013-01-15 15:40                                     ` Andrew Murray
2013-01-15 15:40                                     ` Andrew Murray
     [not found]                                     ` <20130115154038.GA11241-5wv7dgnIgG8@public.gmane.org>
2013-01-15 21:14                                       ` Thierry Reding
2013-01-15 21:14                                         ` Thierry Reding
2013-01-15 21:14                                         ` Thierry Reding
2013-01-15 21:14                                         ` Thierry Reding
2013-01-16 14:00                                         ` Arnd Bergmann
2013-01-16 14:00                                           ` Arnd Bergmann
2013-01-16 14:00                                           ` Arnd Bergmann
2013-01-16 16:17                                           ` Andrew Murray
2013-01-16 16:17                                             ` Andrew Murray
2013-01-16 16:17                                             ` Andrew Murray
2013-01-16 18:31                                             ` Thierry Reding
2013-01-16 18:31                                               ` Thierry Reding
2013-01-16 18:31                                               ` Thierry Reding
2013-01-17 15:42                                               ` Andrew Murray
2013-01-17 15:42                                                 ` Andrew Murray
2013-01-17 15:42                                                 ` Andrew Murray
     [not found]                                                 ` <20130117154236.GA25943-5wv7dgnIgG8@public.gmane.org>
2013-01-17 16:05                                                   ` Thierry Reding
2013-01-17 16:05                                                     ` Thierry Reding
2013-01-17 16:05                                                     ` Thierry Reding
2013-01-17 16:05                                                     ` Thierry Reding
2013-01-17 16:22                                                     ` Andrew Murray
2013-01-17 16:22                                                       ` Andrew Murray
2013-01-17 16:22                                                       ` Andrew Murray
     [not found]                                                       ` <20130117162218.GA29016-5wv7dgnIgG8@public.gmane.org>
2013-01-17 20:30                                                         ` Thierry Reding
2013-01-17 20:30                                                           ` Thierry Reding
2013-01-17 20:30                                                           ` Thierry Reding
2013-01-17 20:30                                                           ` Thierry Reding
2013-01-18  9:18                                                           ` Andrew Murray
2013-01-18  9:18                                                             ` Andrew Murray
2013-01-18  9:18                                                             ` Andrew Murray
2013-01-22 19:29                                                         ` Jason Gunthorpe
2013-01-22 19:29                                                           ` Jason Gunthorpe
2013-01-22 19:29                                                           ` Jason Gunthorpe
2013-01-22 19:29                                                           ` Jason Gunthorpe
2013-01-29 13:31                                                           ` Andrew Murray
2013-01-29 13:31                                                             ` Andrew Murray
2013-01-29 13:31                                                             ` Andrew Murray
2013-01-18  9:56   ` Andrew Murray
2013-01-18  9:56     ` Andrew Murray
2013-01-18  9:56     ` Andrew Murray
     [not found]     ` <20130118095620.GA7552-5wv7dgnIgG8@public.gmane.org>
2013-01-18 10:09       ` Thierry Reding
2013-01-18 10:09         ` Thierry Reding
2013-01-18 10:09         ` Thierry Reding
2013-01-18 10:09         ` Thierry Reding
2013-01-09 20:43 ` [PATCH 12/14] ARM: tegra: tec: Add PCIe support Thierry Reding
2013-01-09 20:43   ` Thierry Reding
     [not found]   ` <1357764194-12677-13-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-01-11  0:22     ` Stephen Warren
2013-01-11  0:22       ` Stephen Warren
2013-01-11  0:22       ` Stephen Warren
2013-01-11  4:34       ` Thierry Reding
2013-01-11  4:34         ` Thierry Reding
2013-01-09 20:43 ` [PATCH 13/14] ARM: tegra: harmony: Initialize PCIe from DT Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
     [not found]   ` <1357764194-12677-14-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-01-10 23:58     ` Stephen Warren
2013-01-10 23:58       ` Stephen Warren
2013-01-10 23:58       ` Stephen Warren
2013-01-28 18:15 ` [PATCH 00/14] Rewrite Tegra PCIe driver Bjorn Helgaas
2013-01-28 18:15   ` Bjorn Helgaas

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=20130111035246.GB28094@avionic-0098.adnet.avionic-design.de \
    --to=thierry.reding-rm9k5ik7kjkj5m59nbduvrnah6klmebb@public.gmane.org \
    --cc=andrew.murray-5wv7dgnIgG8@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    --cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    /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.