summaryrefslogtreecommitdiffstats
path: root/drivers/pci/rom.c
diff options
context:
space:
mode:
authoreiichiro.oiwa.nm@hitachi.com <eiichiro.oiwa.nm@hitachi.com>2006-09-28 06:55:47 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2006-10-18 20:36:11 +0200
commitb5e4efe7e061ff52ac97b9fa45acca529d8daeea (patch)
tree39937f2f6c50525abc0111dca1de91030568e6d5 /drivers/pci/rom.c
parentPCI: add ICH7/8 ACPI/GPIO io resource quirks (diff)
downloadlinux-b5e4efe7e061ff52ac97b9fa45acca529d8daeea.tar.xz
linux-b5e4efe7e061ff52ac97b9fa45acca529d8daeea.zip
PCI: Turn pci_fixup_video into generic for embedded VGA
pci_fixup_video turns into generic code because there are many platforms need this fixup for embedded VGA as well as x86. The Video BIOS integrates into System BIOS on a machine has embedded VGA although embedded VGA generally don't have PCI ROM. As a result, embedded VGA need the way that the sysfs rom points to the Video BIOS of System RAM (0xC0000). PCI-to-PCI Bridge Architecture specification describes the condition whether or not PCI ROM forwards VGA compatible memory address. fixup_video suits this specification. Although the Video ROM generally implements in x86 code regardless of platform, some application such as X Window System can run this code by dosemu86. Therefore, pci_fixup_video should turn into generic code. Signed-off-by: Eiichiro Oiwa <eiichiro.oiwa.nm@hitachi.com> Acked-by: Alan Cox <alan@redhat.com> Acked-by: Jesse Barnes <jesse.barnes@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/rom.c')
-rw-r--r--drivers/pci/rom.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c
index f5ee7ce16fa6..43e4a49f2cc4 100644
--- a/drivers/pci/rom.c
+++ b/drivers/pci/rom.c
@@ -71,7 +71,10 @@ void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size)
void __iomem *image;
int last_image;
- /* IORESOURCE_ROM_SHADOW only set on x86 */
+ /*
+ * IORESOURCE_ROM_SHADOW set if the VGA enable bit of the Bridge Control
+ * register is set for embedded VGA.
+ */
if (res->flags & IORESOURCE_ROM_SHADOW) {
/* primary video rom always starts here */
start = (loff_t)0xC0000;