diff options
Diffstat (limited to 'drivers/video/aty/radeon_base.c')
-rw-r--r-- | drivers/video/aty/radeon_base.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/video/aty/radeon_base.c b/drivers/video/aty/radeon_base.c index 60c37add2579..0ed577e7cc21 100644 --- a/drivers/video/aty/radeon_base.c +++ b/drivers/video/aty/radeon_base.c | |||
@@ -58,7 +58,6 @@ | |||
58 | #include <linux/errno.h> | 58 | #include <linux/errno.h> |
59 | #include <linux/string.h> | 59 | #include <linux/string.h> |
60 | #include <linux/mm.h> | 60 | #include <linux/mm.h> |
61 | #include <linux/tty.h> | ||
62 | #include <linux/slab.h> | 61 | #include <linux/slab.h> |
63 | #include <linux/delay.h> | 62 | #include <linux/delay.h> |
64 | #include <linux/time.h> | 63 | #include <linux/time.h> |
@@ -267,6 +266,8 @@ static int force_measure_pll = 0; | |||
267 | #ifdef CONFIG_MTRR | 266 | #ifdef CONFIG_MTRR |
268 | static int nomtrr = 0; | 267 | static int nomtrr = 0; |
269 | #endif | 268 | #endif |
269 | static int force_sleep; | ||
270 | static int ignore_devlist; | ||
270 | 271 | ||
271 | /* | 272 | /* |
272 | * prototypes | 273 | * prototypes |
@@ -2328,9 +2329,9 @@ static int __devinit radeonfb_pci_register (struct pci_dev *pdev, | |||
2328 | /* -2 is special: means ON on mobility chips and do not | 2329 | /* -2 is special: means ON on mobility chips and do not |
2329 | * change on others | 2330 | * change on others |
2330 | */ | 2331 | */ |
2331 | radeonfb_pm_init(rinfo, rinfo->is_mobility ? 1 : -1); | 2332 | radeonfb_pm_init(rinfo, rinfo->is_mobility ? 1 : -1, ignore_devlist, force_sleep); |
2332 | } else | 2333 | } else |
2333 | radeonfb_pm_init(rinfo, default_dynclk); | 2334 | radeonfb_pm_init(rinfo, default_dynclk, ignore_devlist, force_sleep); |
2334 | 2335 | ||
2335 | pci_set_drvdata(pdev, info); | 2336 | pci_set_drvdata(pdev, info); |
2336 | 2337 | ||
@@ -2478,6 +2479,12 @@ static int __init radeonfb_setup (char *options) | |||
2478 | force_measure_pll = 1; | 2479 | force_measure_pll = 1; |
2479 | } else if (!strncmp(this_opt, "ignore_edid", 11)) { | 2480 | } else if (!strncmp(this_opt, "ignore_edid", 11)) { |
2480 | ignore_edid = 1; | 2481 | ignore_edid = 1; |
2482 | #if defined(CONFIG_PM) && defined(CONFIG_X86) | ||
2483 | } else if (!strncmp(this_opt, "force_sleep", 11)) { | ||
2484 | force_sleep = 1; | ||
2485 | } else if (!strncmp(this_opt, "ignore_devlist", 14)) { | ||
2486 | ignore_devlist = 1; | ||
2487 | #endif | ||
2481 | } else | 2488 | } else |
2482 | mode_option = this_opt; | 2489 | mode_option = this_opt; |
2483 | } | 2490 | } |
@@ -2533,3 +2540,9 @@ module_param(panel_yres, int, 0); | |||
2533 | MODULE_PARM_DESC(panel_yres, "int: set panel yres"); | 2540 | MODULE_PARM_DESC(panel_yres, "int: set panel yres"); |
2534 | module_param(mode_option, charp, 0); | 2541 | module_param(mode_option, charp, 0); |
2535 | MODULE_PARM_DESC(mode_option, "Specify resolution as \"<xres>x<yres>[-<bpp>][@<refresh>]\" "); | 2542 | MODULE_PARM_DESC(mode_option, "Specify resolution as \"<xres>x<yres>[-<bpp>][@<refresh>]\" "); |
2543 | #if defined(CONFIG_PM) && defined(CONFIG_X86) | ||
2544 | module_param(force_sleep, bool, 0); | ||
2545 | MODULE_PARM_DESC(force_sleep, "bool: force D2 sleep mode on all hardware"); | ||
2546 | module_param(ignore_devlist, bool, 0); | ||
2547 | MODULE_PARM_DESC(ignore_devlist, "bool: ignore workarounds for bugs in specific laptops"); | ||
2548 | #endif | ||