diff options
-rw-r--r-- | drivers/video/neofb.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/drivers/video/neofb.c b/drivers/video/neofb.c index 085b4704a46ef..e46b8bcab0c7c 100644 --- a/drivers/video/neofb.c +++ b/drivers/video/neofb.c @@ -1691,7 +1691,27 @@ static int __devinit neo_map_mmio(struct fb_info *info, DBG("neo_map_mmio"); - info->fix.mmio_start = pci_resource_start(dev, 1); + switch (info->fix.accel) { + case FB_ACCEL_NEOMAGIC_NM2070: + info->fix.mmio_start = pci_resource_start(dev, 0)+ + 0x100000; + break; + case FB_ACCEL_NEOMAGIC_NM2090: + case FB_ACCEL_NEOMAGIC_NM2093: + info->fix.mmio_start = pci_resource_start(dev, 0)+ + 0x200000; + break; + case FB_ACCEL_NEOMAGIC_NM2160: + case FB_ACCEL_NEOMAGIC_NM2097: + case FB_ACCEL_NEOMAGIC_NM2200: + case FB_ACCEL_NEOMAGIC_NM2230: + case FB_ACCEL_NEOMAGIC_NM2360: + case FB_ACCEL_NEOMAGIC_NM2380: + info->fix.mmio_start = pci_resource_start(dev, 1); + break; + default: + info->fix.mmio_start = pci_resource_start(dev, 0); + } info->fix.mmio_len = MMIO_SIZE; if (!request_mem_region |