diff options
-rw-r--r-- | arch/i386/pci/fixup.c | 16 | ||||
-rw-r--r-- | drivers/video/geode/gx1fb_core.c | 11 |
2 files changed, 20 insertions, 7 deletions
diff --git a/arch/i386/pci/fixup.c b/arch/i386/pci/fixup.c index 65f67070db64..83c3645ccc43 100644 --- a/arch/i386/pci/fixup.c +++ b/arch/i386/pci/fixup.c | |||
@@ -449,3 +449,19 @@ static void __devinit pci_post_fixup_toshiba_ohci1394(struct pci_dev *dev) | |||
449 | } | 449 | } |
450 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_TI, 0x8032, | 450 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_TI, 0x8032, |
451 | pci_post_fixup_toshiba_ohci1394); | 451 | pci_post_fixup_toshiba_ohci1394); |
452 | |||
453 | |||
454 | /* | ||
455 | * Prevent the BIOS trapping accesses to the Cyrix CS5530A video device | ||
456 | * configuration space. | ||
457 | */ | ||
458 | static void __devinit pci_early_fixup_cyrix_5530(struct pci_dev *dev) | ||
459 | { | ||
460 | u8 r; | ||
461 | /* clear 'F4 Video Configuration Trap' bit */ | ||
462 | pci_read_config_byte(dev, 0x42, &r); | ||
463 | r &= 0xfd; | ||
464 | pci_write_config_byte(dev, 0x42, r); | ||
465 | } | ||
466 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY, | ||
467 | pci_early_fixup_cyrix_5530); | ||
diff --git a/drivers/video/geode/gx1fb_core.c b/drivers/video/geode/gx1fb_core.c index 8e8da7433994..20e69156d728 100644 --- a/drivers/video/geode/gx1fb_core.c +++ b/drivers/video/geode/gx1fb_core.c | |||
@@ -215,11 +215,11 @@ static int __init gx1fb_map_video_memory(struct fb_info *info, struct pci_dev *d | |||
215 | if (ret < 0) | 215 | if (ret < 0) |
216 | return ret; | 216 | return ret; |
217 | 217 | ||
218 | ret = pci_request_region(dev, 1, "gx1fb (video)"); | 218 | ret = pci_request_region(dev, 0, "gx1fb (video)"); |
219 | if (ret < 0) | 219 | if (ret < 0) |
220 | return ret; | 220 | return ret; |
221 | par->vid_regs = ioremap(pci_resource_start(dev, 1), | 221 | par->vid_regs = ioremap(pci_resource_start(dev, 0), |
222 | pci_resource_len(dev, 1)); | 222 | pci_resource_len(dev, 0)); |
223 | if (!par->vid_regs) | 223 | if (!par->vid_regs) |
224 | return -ENOMEM; | 224 | return -ENOMEM; |
225 | 225 | ||
@@ -229,12 +229,9 @@ static int __init gx1fb_map_video_memory(struct fb_info *info, struct pci_dev *d | |||
229 | if (!par->dc_regs) | 229 | if (!par->dc_regs) |
230 | return -ENOMEM; | 230 | return -ENOMEM; |
231 | 231 | ||
232 | ret = pci_request_region(dev, 0, "gx1fb (frame buffer)"); | ||
233 | if (ret < 0 ) | ||
234 | return -EBUSY; | ||
235 | if ((fb_len = gx1_frame_buffer_size()) < 0) | 232 | if ((fb_len = gx1_frame_buffer_size()) < 0) |
236 | return -ENOMEM; | 233 | return -ENOMEM; |
237 | info->fix.smem_start = pci_resource_start(dev, 0); | 234 | info->fix.smem_start = gx_base + 0x800000; |
238 | info->fix.smem_len = fb_len; | 235 | info->fix.smem_len = fb_len; |
239 | info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len); | 236 | info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len); |
240 | if (!info->screen_base) | 237 | if (!info->screen_base) |