aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/aty/radeon_base.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-12-12 04:29:35 -0500
committerIngo Molnar <mingo@elte.hu>2008-12-12 04:29:35 -0500
commitc1dfdc7597d051b09555d4ae2acb90403e238746 (patch)
tree86aa49f5a2ab25459f9196dd6724bbe6645b1375 /drivers/video/aty/radeon_base.c
parentefbe027e95dc13ac343b6130948418d7ead7ddf1 (diff)
parent8b1fae4e4200388b64dd88065639413cb3f1051c (diff)
Merge commit 'v2.6.28-rc8' into sched/core
Diffstat (limited to 'drivers/video/aty/radeon_base.c')
-rw-r--r--drivers/video/aty/radeon_base.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/video/aty/radeon_base.c b/drivers/video/aty/radeon_base.c
index 9a5821c65ebf..d5b27f9d374d 100644
--- a/drivers/video/aty/radeon_base.c
+++ b/drivers/video/aty/radeon_base.c
@@ -282,6 +282,8 @@ static int backlight = 1;
282static int backlight = 0; 282static int backlight = 0;
283#endif 283#endif
284 284
285int accel_cexp = 0;
286
285/* 287/*
286 * prototypes 288 * prototypes
287 */ 289 */
@@ -1875,6 +1877,7 @@ static int __devinit radeon_set_fbinfo (struct radeonfb_info *rinfo)
1875 info->fbops = &radeonfb_ops; 1877 info->fbops = &radeonfb_ops;
1876 info->screen_base = rinfo->fb_base; 1878 info->screen_base = rinfo->fb_base;
1877 info->screen_size = rinfo->mapped_vram; 1879 info->screen_size = rinfo->mapped_vram;
1880
1878 /* Fill fix common fields */ 1881 /* Fill fix common fields */
1879 strlcpy(info->fix.id, rinfo->name, sizeof(info->fix.id)); 1882 strlcpy(info->fix.id, rinfo->name, sizeof(info->fix.id));
1880 info->fix.smem_start = rinfo->fb_base_phys; 1883 info->fix.smem_start = rinfo->fb_base_phys;
@@ -1889,8 +1892,25 @@ static int __devinit radeon_set_fbinfo (struct radeonfb_info *rinfo)
1889 info->fix.mmio_len = RADEON_REGSIZE; 1892 info->fix.mmio_len = RADEON_REGSIZE;
1890 info->fix.accel = FB_ACCEL_ATI_RADEON; 1893 info->fix.accel = FB_ACCEL_ATI_RADEON;
1891 1894
1895 /* Allocate colormap */
1892 fb_alloc_cmap(&info->cmap, 256, 0); 1896 fb_alloc_cmap(&info->cmap, 256, 0);
1893 1897
1898 /* Setup pixmap used for acceleration */
1899#define PIXMAP_SIZE (2048 * 4)
1900
1901 info->pixmap.addr = kmalloc(PIXMAP_SIZE, GFP_KERNEL);
1902 if (!info->pixmap.addr) {
1903 printk(KERN_ERR "radeonfb: Failed to allocate pixmap !\n");
1904 noaccel = 1;
1905 goto bail;
1906 }
1907 info->pixmap.size = PIXMAP_SIZE;
1908 info->pixmap.flags = FB_PIXMAP_SYSTEM;
1909 info->pixmap.scan_align = 4;
1910 info->pixmap.buf_align = 4;
1911 info->pixmap.access_align = 32;
1912
1913bail:
1894 if (noaccel) 1914 if (noaccel)
1895 info->flags |= FBINFO_HWACCEL_DISABLED; 1915 info->flags |= FBINFO_HWACCEL_DISABLED;
1896 1916
@@ -2502,6 +2522,8 @@ static int __init radeonfb_setup (char *options)
2502 } else if (!strncmp(this_opt, "ignore_devlist", 14)) { 2522 } else if (!strncmp(this_opt, "ignore_devlist", 14)) {
2503 ignore_devlist = 1; 2523 ignore_devlist = 1;
2504#endif 2524#endif
2525 } else if (!strncmp(this_opt, "accel_cexp", 12)) {
2526 accel_cexp = 1;
2505 } else 2527 } else
2506 mode_option = this_opt; 2528 mode_option = this_opt;
2507 } 2529 }
@@ -2549,6 +2571,8 @@ module_param(monitor_layout, charp, 0);
2549MODULE_PARM_DESC(monitor_layout, "Specify monitor mapping (like XFree86)"); 2571MODULE_PARM_DESC(monitor_layout, "Specify monitor mapping (like XFree86)");
2550module_param(force_measure_pll, bool, 0); 2572module_param(force_measure_pll, bool, 0);
2551MODULE_PARM_DESC(force_measure_pll, "Force measurement of PLL (debug)"); 2573MODULE_PARM_DESC(force_measure_pll, "Force measurement of PLL (debug)");
2574module_param(accel_cexp, bool, 0);
2575MODULE_PARM_DESC(accel_cexp, "Use acceleration engine for color expansion");
2552#ifdef CONFIG_MTRR 2576#ifdef CONFIG_MTRR
2553module_param(nomtrr, bool, 0); 2577module_param(nomtrr, bool, 0);
2554MODULE_PARM_DESC(nomtrr, "bool: disable use of MTRR registers"); 2578MODULE_PARM_DESC(nomtrr, "bool: disable use of MTRR registers");