Skip to contentSkip to conversation

New: radeonfb and Xpress 200m 5955

Bugme-new Andrew Morton 3 participants 4 messages Jan 16, 2008 1 message not in the archive Framebuffer layer

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]/

#1 lore raw
Quoted 27 lines · On Wed, 16 Jan 2008 01:33:25 -0800 (PST) [email protected] wrote:

http://bugzilla.kernel.org/show_bug.cgi?id=9762

           Summary: radeonfb and Xpress 200m 5955
           Product: Drivers
           Version: 2.5
     KernelVersion: >=2.6.23
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Console/Framebuffers
        AssignedTo: [email protected]
        ReportedBy: [email protected]

Latest working kernel version: 2.6.23
Earliest failing kernel version: any
Distribution: gentoo
Hardware Environment: Radeon XPress 200m 5955
Software Environment:
Problem Description: framebuffer is ok only with default parameters only (it is 1280x800-8@60). If parameters are video=radeonfb:1280x800-32@60 then xres, yres and xres_virtual are ok but yres_virtual is 1024. It can be corrected by fbset utility so I think it can be corrected in the driver code also.

Quoted 3 lines

Steps to reproduce: video=radeonfb:1280x800-32@60 or video=radeonfb:1280x800-16@60

damn, another post-2.6.2 regression.

Does anyone know whether this is likely to be a radeonfb problem or an fbdev core problem?

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

#2 lore raw
Quoted 28 lines · Andrew Morton
Quoted 27 lines · On Wed, 16 Jan 2008 01:33:25 -0800 (PST) [email protected] wrote:

http://bugzilla.kernel.org/show_bug.cgi?id=9762

           Summary: radeonfb and Xpress 200m 5955
           Product: Drivers
           Version: 2.5
     KernelVersion: >=2.6.23
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Console/Framebuffers
        AssignedTo: [email protected]
        ReportedBy: [email protected]

Latest working kernel version: 2.6.23
Earliest failing kernel version: any
Distribution: gentoo
Hardware Environment: Radeon XPress 200m 5955
Software Environment:
Problem Description: framebuffer is ok only with default parameters only (it is 1280x800-8@60). If parameters are video=radeonfb:1280x800-32@60 then xres, yres and xres_virtual are ok but yres_virtual is 1024. It can be corrected by fbset utility so I think it can be corrected in the driver code also.

Quoted 7 lines
Quoted 2 lines

Steps to reproduce: video=radeonfb:1280x800-32@60 or video=radeonfb:1280x800-16@60

damn, another post-2.6.2 regression.

Does anyone know whether this is likely to be a radeonfb problem or an fbdev core problem?

Perhaps

commit 1c5dd170927b1aa8e3a01d43d611b840336cdaf2

Author: Michal Januszewski <[email protected]>
Date:   Tue Oct 16 01:29:19 2007 -0700

fbdev: find mode with the highest/safest refresh rate in fb_find_mode()

Currently, if the refresh rate is not specified, fb_find_mode() returns the first known video mode with the requested resolution, which provides no guarantees wrt the refresh rate. Change this so that the mode with the highest refresh rate is returned when the driver provides a custom video mod
e
database and the monitor limits, and a mode with the safe 60 Hz refresh rate otherwise.

M. alevkovich, can you please try to back out that change?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

#3 lore raw
Quoted 45 lines · On Wed, 16 Jan 2008 16:23:22 +0100 (CET) Geert Uytterhoeven…
Quoted 28 lines · Andrew Morton
Quoted 27 lines · On Wed, 16 Jan 2008 01:33:25 -0800 (PST) [email protected] wrote:

http://bugzilla.kernel.org/show_bug.cgi?id=9762

           Summary: radeonfb and Xpress 200m 5955
           Product: Drivers
           Version: 2.5
     KernelVersion: >=2.6.23
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Console/Framebuffers
        AssignedTo: [email protected]
        ReportedBy: [email protected]

Latest working kernel version: 2.6.23
Earliest failing kernel version: any
Distribution: gentoo
Hardware Environment: Radeon XPress 200m 5955
Software Environment:
Problem Description: framebuffer is ok only with default parameters only (it is 1280x800-8@60). If parameters are video=radeonfb:1280x800-32@60 then xres, yres and xres_virtual are ok but yres_virtual is 1024. It can be corrected by fbset utility so I think it can be corrected in the driver code also.

Quoted 7 lines
Quoted 2 lines

Steps to reproduce: video=radeonfb:1280x800-32@60 or video=radeonfb:1280x800-16@60

damn, another post-2.6.2 regression.

Does anyone know whether this is likely to be a radeonfb problem or an fbdev core problem?

Perhaps

commit 1c5dd170927b1aa8e3a01d43d611b840336cdaf2

Author: Michal Januszewski <[email protected]>
Date:   Tue Oct 16 01:29:19 2007 -0700

fbdev: find mode with the highest/safest refresh rate in fb_find_mode()

Quoted 7 lines

Currently, if the refresh rate is not specified, fb_find_mode() returns the first known video mode with the requested resolution, which provides no guarantees wrt the refresh rate. Change this so that the mode with the highest refresh rate is returned when the driver provides a custom video mod
e
database and the monitor limits, and a mode with the safe 60 Hz refresh rate otherwise.

Thanks.

Quoted 2 lines

M. alevkovich, can you please try to back out that change?

Here's a patch against 2.6.24-rc8 which performs that reversion:

drivers/video/modedb.c renamed from drivers/video/modedb.c~revert-1 +12 -29
@@ -608,43 +608,26 @@ done:
 	DPRINTK("Trying specified video mode%s %ix%i\n",
 	    refresh_specified ? "" : " (ignoring refresh rate)", xres, yres);
 
-	if (!refresh_specified) {
-		/*
-		 * If the caller has provided a custom mode database and a
-		 * valid monspecs structure, we look for the mode with the
-		 * highest refresh rate.  Otherwise we play it safe it and
-		 * try to find a mode with a refresh rate closest to the
-		 * standard 60 Hz.
-		 */
-		if (db != modedb &&
-		    info->monspecs.vfmin && info->monspecs.vfmax &&
-		    info->monspecs.hfmin && info->monspecs.hfmax &&
-		    info->monspecs.dclkmax) {
-			refresh = 1000;
-		} else {
-			refresh = 60;
-		}
-	}
-
-	diff = -1;
+	diff = refresh;
 	best = -1;
 	for (i = 0; i < dbsize; i++) {
-		if ((name_matches(db[i], name, namelen) ||
-		    (res_specified && res_matches(db[i], xres, yres))) &&
-		    !fb_try_mode(var, info, &db[i], bpp)) {
-			if (refresh_specified && db[i].refresh == refresh) {
-				return 1;
-			} else {
-				if (abs(db[i].refresh - refresh) < diff) {
-					diff = abs(db[i].refresh - refresh);
-					best = i;
+		if (name_matches(db[i], name, namelen) ||
+		    (res_specified && res_matches(db[i], xres, yres))) {
+			if(!fb_try_mode(var, info, &db[i], bpp)) {
+				if(!refresh_specified || db[i].refresh == refresh)
+					return 1;
+				else {
+					if(diff > abs(db[i].refresh - refresh)) {
+						diff = abs(db[i].refresh - refresh);
+						best = i;
+					}
 				}
 			}
 		}
 	}
 	if (best != -1) {
 		fb_try_mode(var, info, &db[best], bpp);
-		return (refresh_specified) ? 2 : 1;
+		return 2;
 	}
 
 	diff = xres + yres;

_

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

#4 lore raw

This patch from Alex, attached as
http://bugzilla.kernel.org/attachment.cgi?id=14481&action=view,
is reported to fix the problem.

drivers/video/modedb.c +4 -0
@@ -259,6 +259,10 @@
 	/* 1366x768, 60 Hz, 47.403 kHz hsync, WXGA 16:9 aspect ratio */
 	NULL, 60, 1366, 768, 13806, 120, 10, 14, 3, 32, 5,
 	0, FB_VMODE_NONINTERLACED
+   }, {
+	/* 1280x800, 60 Hz, 47.403 kHz hsync, WXGA 16:10 aspect ratio */
+	NULL, 60, 1280, 800, 12048, 200, 64, 24, 1, 136, 3,
+	0, FB_VMODE_NONINTERLACED
     },
 };
 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/