Index: pciexp_porta.c =================================================================== --- pciexp_porta.c (revision 4271) +++ pciexp_porta.c (working copy) @@ -36,6 +36,8 @@ { config_t *config; + printk_debug("pcie_init\r\n"); + /* Get the chip configuration */ config = dev->chip_info; @@ -45,6 +47,22 @@ } + +static void pcie_bus_enable_resources(struct device *dev) +{ + if (dev->link[0].bridge_ctrl & PCI_BRIDGE_CTL_VGA) { + printk_debug("Enabling VGA IO/MEM forwarding\r\n"); + pci_write_config8(dev, 0x3e, 8); + } + else { + printk_debug("Not found\r\n"); + + } + pci_dev_enable_resources(dev); + enable_childrens_resources(dev); +} + + static unsigned int pcie_scan_bridge(struct device *dev, unsigned int max) { u16 val; @@ -68,7 +86,7 @@ static struct device_operations pcie_ops = { .read_resources = pci_bus_read_resources, .set_resources = pci_dev_set_resources, - .enable_resources = pci_bus_enable_resources, + .enable_resources = pcie_bus_enable_resources, .init = pcie_init, .scan_bus = pcie_scan_bridge, .reset_bus = pci_bus_reset,