diff options
Diffstat (limited to 'src/device/device.c')
-rw-r--r-- | src/device/device.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/device/device.c b/src/device/device.c index 44d1f95f75..333f1f0f1d 100644 --- a/src/device/device.c +++ b/src/device/device.c @@ -759,6 +759,10 @@ static void set_vga_bridge_bits(void) continue; printk(BIOS_DEBUG, "found VGA at %s\n", dev_path(dev)); + if (dev->bus->no_vga16) { + printk(BIOS_WARNING, + "A bridge on the path doesn't support 16-bit VGA decoding!"); + } if (dev->on_mainboard) { vga_onboard = dev; @@ -797,7 +801,7 @@ static void set_vga_bridge_bits(void) while (bus) { printk(BIOS_DEBUG, "Setting PCI_BRIDGE_CTL_VGA for bridge %s\n", dev_path(bus->dev)); - bus->bridge_ctrl |= PCI_BRIDGE_CTL_VGA; + bus->bridge_ctrl |= PCI_BRIDGE_CTL_VGA | PCI_BRIDGE_CTL_VGA16; bus = (bus == bus->dev->bus) ? 0 : bus->dev->bus; } } |