|
|
e8301f2 |
diff -up xf86-video-ati-6.9.0/src/radeon_output.c.jx xf86-video-ati-6.9.0/src/radeon_output.c
|
|
|
e8301f2 |
--- xf86-video-ati-6.9.0/src/radeon_output.c.jx 2008-09-11 15:31:28.000000000 -0400
|
|
|
e8301f2 |
+++ xf86-video-ati-6.9.0/src/radeon_output.c 2008-09-11 15:41:33.000000000 -0400
|
|
|
e8301f2 |
@@ -1972,14 +1972,18 @@ RADEONGetLVDSInfo (xf86OutputPtr output)
|
|
|
e8301f2 |
RADEONOutputPrivatePtr radeon_output = output->driver_private;
|
|
|
e8301f2 |
char* s;
|
|
|
e8301f2 |
|
|
|
e8301f2 |
- if (!RADEONGetLVDSInfoFromBIOS(output))
|
|
|
e8301f2 |
- RADEONGetPanelInfoFromReg(output);
|
|
|
e8301f2 |
-
|
|
|
e8301f2 |
if ((s = xf86GetOptValString(info->Options, OPTION_PANEL_SIZE))) {
|
|
|
e8301f2 |
radeon_output->PanelPwrDly = 200;
|
|
|
e8301f2 |
if (sscanf (s, "%dx%d", &radeon_output->PanelXRes, &radeon_output->PanelYRes) != 2) {
|
|
|
e8301f2 |
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Invalid PanelSize option: %s\n", s);
|
|
|
e8301f2 |
- RADEONGetPanelInfoFromReg(output);
|
|
|
e8301f2 |
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Invalid PanelSize option: %s, disabling the panel\n", s);
|
|
|
e8301f2 |
+ return FALSE;
|
|
|
e8301f2 |
+ }
|
|
|
e8301f2 |
+ } else if (!RADEONGetLVDSInfoFromBIOS(output)) {
|
|
|
e8301f2 |
+ RADEONGetPanelInfoFromReg(output);
|
|
|
e8301f2 |
+ if (radeon_output->PanelXRes < 800 || radeon_output->PanelYRes < 480) {
|
|
|
e8301f2 |
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
|
|
|
e8301f2 |
+ "Implausible panel size, disabling\n");
|
|
|
e8301f2 |
+ return FALSE;
|
|
|
e8301f2 |
}
|
|
|
e8301f2 |
}
|
|
|
e8301f2 |
|