2015-06-18 18:46:02

by Duc Dang

[permalink] [raw]
Subject: [PATCH 1/1] PCI: xgene: Allow config access to Root Port even when link is down

Even if a Root Port's link is down, we should still be able to access the
Port's configuration space.

Suggested-by: Bjorn Helgaas <[email protected]>
Signed-off-by: Duc Dang <[email protected]>
Signed-off-by: Tanmay Inamdar <[email protected]>
---
drivers/pci/host/pci-xgene.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
index 7e3cf28..2e66c87 100644
--- a/drivers/pci/host/pci-xgene.c
+++ b/drivers/pci/host/pci-xgene.c
@@ -139,7 +139,7 @@ static void __iomem *xgene_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
{
struct xgene_pcie_port *port = bus->sysdata;

- if ((pci_is_root_bus(bus) && devfn != 0) || !port->link_up ||
+ if ((pci_is_root_bus(bus) && devfn != 0) ||
xgene_pcie_hide_rc_bars(bus, offset))
return NULL;

--
1.9.1


2015-06-18 20:01:09

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH 1/1] PCI: xgene: Allow config access to Root Port even when link is down

On Thu, Jun 18, 2015 at 11:45:39AM -0700, Duc Dang wrote:
> Even if a Root Port's link is down, we should still be able to access the
> Port's configuration space.
>
> Suggested-by: Bjorn Helgaas <[email protected]>
> Signed-off-by: Duc Dang <[email protected]>
> Signed-off-by: Tanmay Inamdar <[email protected]>
> ---
> drivers/pci/host/pci-xgene.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
> index 7e3cf28..2e66c87 100644
> --- a/drivers/pci/host/pci-xgene.c
> +++ b/drivers/pci/host/pci-xgene.c
> @@ -139,7 +139,7 @@ static void __iomem *xgene_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
> {
> struct xgene_pcie_port *port = bus->sysdata;
>
> - if ((pci_is_root_bus(bus) && devfn != 0) || !port->link_up ||
> + if ((pci_is_root_bus(bus) && devfn != 0) ||
> xgene_pcie_hide_rc_bars(bus, offset))
> return NULL;
>

Applied with changelog as follows to pci/host-xgene for v4.2, thanks!

commit 979595bcb8da04381ed85d3b0eb1f471cc5863e4
Author: Duc Dang <[email protected]>
Date: Thu Jun 18 11:45:39 2015 -0700

PCI: xgene: Allow config access to Root Port even when link is down

Previously, when a Root Port's link was down, we didn't allow config access
to the Root Port, which meant that if the Root Port led to an empty slot,
"lspci" didn't even show the Root Port.

Allow config access to Root Port even when link is down.

[bhelgaas: changelog]
Suggested-by: Bjorn Helgaas <[email protected]>
Signed-off-by: Duc Dang <[email protected]>
Signed-off-by: Tanmay Inamdar <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>

diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
index 70af714..1fc8910 100644
--- a/drivers/pci/host/pci-xgene.c
+++ b/drivers/pci/host/pci-xgene.c
@@ -139,7 +139,7 @@ static void __iomem *xgene_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
{
struct xgene_pcie_port *port = bus->sysdata;

- if ((pci_is_root_bus(bus) && devfn != 0) || !port->link_up ||
+ if ((pci_is_root_bus(bus) && devfn != 0) ||
xgene_pcie_hide_rc_bars(bus, offset))
return NULL;

2015-06-18 22:09:59

by Duc Dang

[permalink] [raw]
Subject: Re: [PATCH 1/1] PCI: xgene: Allow config access to Root Port even when link is down

On Thu, Jun 18, 2015 at 1:00 PM, Bjorn Helgaas <[email protected]> wrote:
> On Thu, Jun 18, 2015 at 11:45:39AM -0700, Duc Dang wrote:
>> Even if a Root Port's link is down, we should still be able to access the
>> Port's configuration space.
>>
>> Suggested-by: Bjorn Helgaas <[email protected]>
>> Signed-off-by: Duc Dang <[email protected]>
>> Signed-off-by: Tanmay Inamdar <[email protected]>
>> ---
>> drivers/pci/host/pci-xgene.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
>> index 7e3cf28..2e66c87 100644
>> --- a/drivers/pci/host/pci-xgene.c
>> +++ b/drivers/pci/host/pci-xgene.c
>> @@ -139,7 +139,7 @@ static void __iomem *xgene_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
>> {
>> struct xgene_pcie_port *port = bus->sysdata;
>>
>> - if ((pci_is_root_bus(bus) && devfn != 0) || !port->link_up ||
>> + if ((pci_is_root_bus(bus) && devfn != 0) ||
>> xgene_pcie_hide_rc_bars(bus, offset))
>> return NULL;
>>
>
> Applied with changelog as follows to pci/host-xgene for v4.2, thanks!

It was my fault that I missed a compilation warning due to struct
xgene_pcie_port *port
becomes unused variable. I will send another patch that fix this
compilation warning right after this email.

>
> commit 979595bcb8da04381ed85d3b0eb1f471cc5863e4
> Author: Duc Dang <[email protected]>
> Date: Thu Jun 18 11:45:39 2015 -0700
>
> PCI: xgene: Allow config access to Root Port even when link is down
>
> Previously, when a Root Port's link was down, we didn't allow config access
> to the Root Port, which meant that if the Root Port led to an empty slot,
> "lspci" didn't even show the Root Port.
>
> Allow config access to Root Port even when link is down.
>
> [bhelgaas: changelog]
> Suggested-by: Bjorn Helgaas <[email protected]>
> Signed-off-by: Duc Dang <[email protected]>
> Signed-off-by: Tanmay Inamdar <[email protected]>
> Signed-off-by: Bjorn Helgaas <[email protected]>
>
> diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
> index 70af714..1fc8910 100644
> --- a/drivers/pci/host/pci-xgene.c
> +++ b/drivers/pci/host/pci-xgene.c
> @@ -139,7 +139,7 @@ static void __iomem *xgene_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
> {
> struct xgene_pcie_port *port = bus->sysdata;
>
> - if ((pci_is_root_bus(bus) && devfn != 0) || !port->link_up ||
> + if ((pci_is_root_bus(bus) && devfn != 0) ||
> xgene_pcie_hide_rc_bars(bus, offset))
> return NULL;
>

-
Thanks,
Duc Dang.