radeonfb: Disable new color expand acceleration unless explicitely enabled
This new color expansion acceleration for radeonfb appears to trigger problems with X on VT switch and suspend/resume on some machines. It might be a problem in the VT layer or in X, but I haven't quite found it yet, so in the meantime, this disables the acceleration by default, reverting to 2.6.27 state. It can be enabled using the "accel_cexp" module parameter or fbdev argument. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
f7a8db89c1
Коммит
f3179748a1
|
@ -256,7 +256,8 @@ void radeonfb_imageblit(struct fb_info *info, const struct fb_image *image)
|
|||
return;
|
||||
|
||||
/* We only do 1 bpp color expansion for now */
|
||||
if (info->flags & FBINFO_HWACCEL_DISABLED || image->depth != 1)
|
||||
if (!accel_cexp ||
|
||||
(info->flags & FBINFO_HWACCEL_DISABLED) || image->depth != 1)
|
||||
goto fallback;
|
||||
|
||||
/* Fallback if running out of the screen. We may do clipping
|
||||
|
|
|
@ -282,6 +282,8 @@ static int backlight = 1;
|
|||
static int backlight = 0;
|
||||
#endif
|
||||
|
||||
int accel_cexp = 0;
|
||||
|
||||
/*
|
||||
* prototypes
|
||||
*/
|
||||
|
@ -2520,6 +2522,8 @@ static int __init radeonfb_setup (char *options)
|
|||
} else if (!strncmp(this_opt, "ignore_devlist", 14)) {
|
||||
ignore_devlist = 1;
|
||||
#endif
|
||||
} else if (!strncmp(this_opt, "accel_cexp", 12)) {
|
||||
accel_cexp = 1;
|
||||
} else
|
||||
mode_option = this_opt;
|
||||
}
|
||||
|
@ -2567,6 +2571,8 @@ module_param(monitor_layout, charp, 0);
|
|||
MODULE_PARM_DESC(monitor_layout, "Specify monitor mapping (like XFree86)");
|
||||
module_param(force_measure_pll, bool, 0);
|
||||
MODULE_PARM_DESC(force_measure_pll, "Force measurement of PLL (debug)");
|
||||
module_param(accel_cexp, bool, 0);
|
||||
MODULE_PARM_DESC(accel_cexp, "Use acceleration engine for color expansion");
|
||||
#ifdef CONFIG_MTRR
|
||||
module_param(nomtrr, bool, 0);
|
||||
MODULE_PARM_DESC(nomtrr, "bool: disable use of MTRR registers");
|
||||
|
|
|
@ -638,4 +638,6 @@ static inline void radeonfb_bl_init(struct radeonfb_info *rinfo) {}
|
|||
static inline void radeonfb_bl_exit(struct radeonfb_info *rinfo) {}
|
||||
#endif
|
||||
|
||||
extern int accel_cexp;
|
||||
|
||||
#endif /* __RADEONFB_H__ */
|
||||
|
|
Загрузка…
Ссылка в новой задаче