All of lore.kernel.org
 help / color / mirror / Atom feed
* [Discussion]: ARM: PCIE: Setup bridges not happening with portbus driver enabled
@ 2013-12-05  5:44 Jay Agarwal
  2013-12-05  6:48 ` Pratyush Anand
  2013-12-05 18:54 ` Bjorn Helgaas
  0 siblings, 2 replies; 8+ messages in thread
From: Jay Agarwal @ 2013-12-05  5:44 UTC (permalink / raw)
  To: linux-pci@vger.kernel.org, 'Bjorn Helgaas',
	'yinghai@kernel.org'
  Cc: Stephen Warren, Thierry Reding, Krishna Thota

Hi All,

I am seeing below issue on an ARM platform with CONFIG_PCIEPORTBUS enabled in kernel

ISSUE:  Any memory access by devices fails

FINDINGS:

1. No bridge windows like below are setup and probably this is not allowing any memory access by devices
[    1.280324] pci 0000:00:00.0:   bridge window [mem 0xXXX00000-0xXXXfffff]
[    1.280350] pci 0000:00:00.0:   bridge window [mem 0xXXX00000-0xXXXfffff pref]

2. On debugging, I see pci_enable_bridge(setup-bus.c) is not called because pci_is_enabled returns true. This is because pci_enable_device is already called for this bridge by portbus driver in pcie_port_device_register(portdrv_core.c).
3. Below patch is resolving this issue without any visible side effects. In fact, I verified AER(which needs PORTBUS) also with this.

diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 64a7de2..9b67fff 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -1200,8 +1200,7 @@ void __ref __pci_bus_assign_resources(const struct pci_bus *bus,
 
                switch (dev->class >> 8) {
                case PCI_CLASS_BRIDGE_PCI:
-                       if (!pci_is_enabled(dev))
-                               pci_setup_bridge(b);
+                       pci_setup_bridge(b);
                        break;
 
                case PCI_CLASS_BRIDGE_CARDBUS:

3. This patch works without PORTBUS enabled also.

QUESTIONS:
1. Does anybody see any problem with this patch? Any reason for pci_is_enabled check above?

With best,
Jay
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-12-05 22:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-05  5:44 [Discussion]: ARM: PCIE: Setup bridges not happening with portbus driver enabled Jay Agarwal
2013-12-05  6:48 ` Pratyush Anand
2013-12-05  7:38   ` Jay Agarwal
2013-12-05  8:27     ` Yinghai Lu
2013-12-05  8:41       ` Jay Agarwal
2013-12-05  9:12       ` Thierry Reding
2013-12-05 22:50         ` Yinghai Lu
2013-12-05 18:54 ` Bjorn Helgaas

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.