diff options
author | eiichiro.oiwa.nm@hitachi.com <eiichiro.oiwa.nm@hitachi.com> | 2006-09-28 13:55:47 +0900 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-10-18 11:36:11 -0700 |
commit | b5e4efe7e061ff52ac97b9fa45acca529d8daeea (patch) | |
tree | 39937f2f6c50525abc0111dca1de91030568e6d5 /drivers/pci/rom.c | |
parent | bacedce32b171cd461a7da3160ad794e2240c67a (diff) | |
download | op-kernel-dev-b5e4efe7e061ff52ac97b9fa45acca529d8daeea.zip op-kernel-dev-b5e4efe7e061ff52ac97b9fa45acca529d8daeea.tar.gz |
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.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c index f5ee7ce..43e4a49 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; |