diff options
Diffstat (limited to 'drivers/video/fbdev/aty')
-rw-r--r-- | drivers/video/fbdev/aty/aty128fb.c | 2 | ||||
-rw-r--r-- | drivers/video/fbdev/aty/mach64_ct.c | 2 | ||||
-rw-r--r-- | drivers/video/fbdev/aty/radeon_base.c | 21 |
3 files changed, 23 insertions, 2 deletions
diff --git a/drivers/video/fbdev/aty/aty128fb.c b/drivers/video/fbdev/aty/aty128fb.c index db18474607c9..09b0e558dce8 100644 --- a/drivers/video/fbdev/aty/aty128fb.c +++ b/drivers/video/fbdev/aty/aty128fb.c @@ -1716,7 +1716,7 @@ static int aty128fb_setup(char *options) continue; } if(!strncmp(this_opt, "nomtrr", 6)) { - mtrr = 0; + mtrr = false; continue; } #ifdef CONFIG_PPC_PMAC diff --git a/drivers/video/fbdev/aty/mach64_ct.c b/drivers/video/fbdev/aty/mach64_ct.c index 7d3bd723d3d5..74a62aa193c0 100644 --- a/drivers/video/fbdev/aty/mach64_ct.c +++ b/drivers/video/fbdev/aty/mach64_ct.c @@ -180,7 +180,7 @@ static int aty_dsp_gt(const struct fb_info *info, u32 bpp, struct pll_ct *pll) dsp_on = ((multiplier << vshift) + divider) / divider; tmp = ((ras_multiplier << xshift) + ras_divider) / ras_divider; if (dsp_on < tmp) - dsp_on = tmp; + dsp_on = tmp; dsp_on = dsp_on + (tmp * 2) + (pll->xclkpagefaultdelay << xshift); } diff --git a/drivers/video/fbdev/aty/radeon_base.c b/drivers/video/fbdev/aty/radeon_base.c index 87608c0b2351..e8594bbaea60 100644 --- a/drivers/video/fbdev/aty/radeon_base.c +++ b/drivers/video/fbdev/aty/radeon_base.c @@ -2255,6 +2255,23 @@ static const struct bin_attribute edid2_attr = { .read = radeon_show_edid2, }; +static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) +{ + struct apertures_struct *ap; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, 0); + ap->ranges[0].size = pci_resource_len(pdev, 0); + + remove_conflicting_framebuffers(ap, KBUILD_MODNAME, false); + + kfree(ap); + + return 0; +} static int radeonfb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent) @@ -2308,6 +2325,10 @@ static int radeonfb_pci_register(struct pci_dev *pdev, rinfo->fb_base_phys = pci_resource_start (pdev, 0); rinfo->mmio_base_phys = pci_resource_start (pdev, 2); + ret = radeon_kick_out_firmware_fb(pdev); + if (ret) + return ret; + /* request the mem regions */ ret = pci_request_region(pdev, 0, "radeonfb framebuffer"); if (ret < 0) { |