diff mbox

is this TI firewire express card supported?

Message ID 4D9A1804.3070708@kernel.org (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Yinghai Lu April 4, 2011, 7:12 p.m. UTC
On 04/04/2011 07:58 AM, Bjorn Helgaas wrote:
> I think your ExpressCard contains two devices: the Express-to-PCI bridge and
> the 1394 controller itself, which is behind the bridge.  When you plug it in,
> we discover the devices:
>
>      [  501.714858] pci 0000:02:00.0: PCI bridge to [bus 03-ff]
>      [  501.714942] pci 0000:02:00.0:   bridge window [io
> 0x0000-0x0000] (disabled)
>      [  501.715065] pci 0000:02:00.0:   bridge window [mem
> 0x00000000-0x000fffff] (disabled)
>      [  501.715176] pci 0000:02:00.0:   bridge window [mem
> 0x00000000-0x000fffff pref] (disabled)
>      [  501.713371] pci 0000:03:00.0: reg 10: [mem 0x00000000-0x000007ff]
>      [  501.713473] pci 0000:03:00.0: reg 14: [mem 0x00000000-0x00003fff]
>
> Then we attempt to assign resources to them.  The Express-to-PCI bridge is on
> bus 02, so we need space there, but the BIOS didn't assign anything for bus 02:
>
>      [    0.137841] pci 0000:00:05.0: PCI bridge to [bus 02-04]
>      [    0.137934] pci 0000:00:05.0:   bridge window [io
> 0x0000-0x0000] (disabled)
>      [    0.137939] pci 0000:00:05.0:   bridge window [mem
> 0x00000000-0x000fffff] (disabled)
>      [    0.137944] pci 0000:00:05.0:   bridge window [mem
> 0xfff00000-0x000fffff pref] (disabled)
>
> Theoretically, we could reassign the 00:05.0 windows to make space on bus 02,
> then open a 02:00.0 window, then assign the 03:00.0 resources.  But I don't
> think Linux is smart enough to do this yet.

looks there is some bios problem, it does not allocate anything to bridge 00:05.0

current mainline kernel will at least try to update the pci bridge for downstream pcie devices with pciehp.

wonder if following patch could help cardbus.
also looks like we need to do some change in setup-bus.c

Thanks

Yinghai

<NOT even with compile test>




--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/pcmcia/cardbus.c b/drivers/pcmcia/cardbus.c
index 9a58862..41026d1 100644
--- a/drivers/pcmcia/cardbus.c
+++ b/drivers/pcmcia/cardbus.c
@@ -66,7 +66,8 @@  static void cardbus_config_irq_and_cls(struct pci_bus *bus, int irq)
   */
  int __ref cb_alloc(struct pcmcia_socket *s)
  {
-	struct pci_bus *bus = s->cb_dev->subordinate;
+	struct pci_dev *bridge = s->cb_dev;
+	struct pci_bus *bus = bridge->subordinate;
  	struct pci_dev *dev;
  	unsigned int max, pass;
  
@@ -83,15 +84,13 @@  int __ref cb_alloc(struct pcmcia_socket *s)
  	/*
  	 * Size all resources below the CardBus controller.
  	 */
-	pci_bus_size_bridges(bus);
-	pci_bus_assign_resources(bus);
+	pci_assign_unassigned_bridge_resources(bridge);
  	cardbus_config_irq_and_cls(bus, s->pci_irq);
  
  	/* socket specific tune function */
  	if (s->tune_bridge)
  		s->tune_bridge(s, bus);
  
-	pci_enable_bridges(bus);
  	pci_bus_add_devices(bus);
  
  	return 0;