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) |
