Subject: Re: [Cbe-oss-dev] PS3 improved video mode autodetection for HDMI/DVI

From: Håvard Espeland <[email-masked]>
Date: Fri, 13 Jul 2007 11:48:14 +0200

On Thu, Jul 12, 2007 at 05:12:43PM +0200, Geert Uytterhoeven wrote:
> On Thu, 12 Jul 2007, [iso-8859-1] H?vard Espeland wrote:
> > On Thu, Jul 12, 2007 at 10:40:47AM +0200, Geert Uytterhoeven wrote:
> > > If it fails, please add `#define DEBUG' to drivers/ps3/ps3av.c, send me the
> > > `Monitor Info' output in the kernel log (dmesg), and tell me which of the
> > > PS3 video modes (1-13) work and which don't. ps3av has a quirk database for
> > > monitors that advertise non-working modes, so it can probably be fixed.
> > > (BTW, even if autodetect works fine, I always welcome this information)
> > > 
> > > In case you have a big pile of monitors at your site, you don't have to reboot
> > > to try them all. Just plug in the new monitor and run `ps3videomode -v 0' to
> > > switch to the best resolution of the newly-connected monitor.
> > 
> > Hi, the autodetect code does not work correctly with a LG L226WTQ 
> > (native resolution 1680x1050). The detected mode (11) works fine without
> > fullscreen, but goes out of range with '-f'.
> 
> This `supported resolution 11' is not the same as the mode number to pass to
> ps3videomode, it's a PS3AV_CMD_VIDEO_VID_* ID.
> 
> Vid 11 corresponds to PS3AV_CMD_VIDEO_VID_1080P_60Hz (i.e. 1080p).
> While mode 11 is WXGA (i.e. 1280x768).
> 
> (Upon further inspection, this `vid' is immediately converted to a mode number,
>  so I'll change the code to use mode numbers instead, and cause less
>  confusion).
> 
> > Resolutions w/o fullscreen:
> > OK: 2, 3, 7, 8, 11, 12
> > BAD: 1, 4, 5, 6, 9, 10, 13
> 
> Looks reasonable for a 1680x1050 monitor...
> 
> > Resolutions with fullscreen:
> > OK: 2, 3, 7, 8
> > BAD: 1, 4, 5, 6, 9, 10, 11, 12, 13
> 
> Euh, `-f' shouldn't make any difference for modes 11-13, as they're always
> fullscreen.
> 
> > Monitor Info: size 96
> > avport: 00
> > monitor_id:  1e 6d 4e 56 d7 2a 03 00 03 11
> > monitor_type: 02
> > monitor_name: L226WTQ
> > resolution_60: bits: 0000400d native: 00000000
> > resolution_50: bits: 00000000 native: 00000000
> > resolution_other: bits: 00000000 native: 00000000
> > resolution_vesa: bits: 00000001 native: 00000000
> 
> So your monitor advertises:
> 
>     Supported 60 Hz modes:   1080p 480p 720p 1080i (0000400d)
>     Supported VESA modes:    VGA (00000001)
> 
> But 1080p and 1080i don't work. As 1080p is the best advertised mode, you don't
> get anything to see :-(
> 
> Does this patch help? It should give you 720p by default.
> 
> Index: ps3-linux-2.6/drivers/ps3/ps3av.c
> ===================================================================
> --- ps3-linux-2.6.orig/drivers/ps3/ps3av.c	2007-07-12 10:26:33.000000000 +0200
> +++ ps3-linux-2.6/drivers/ps3/ps3av.c	2007-07-12 16:57:39.000000000 +0200
> @@ -720,6 +720,10 @@ static const struct ps3av_monitor_quirk 
>  	{
>  		.monitor_name	= "DELL 2007WFP",
>  		.clear_60	= PS3AV_RESBIT_1920x1080I
> +	}, {
> +		.monitor_name	= "L226WTQ",
> +		.clear_60	= PS3AV_RESBIT_1920x1080I |
> +				  PS3AV_RESBIT_1920x1080P
>  	}
>  };
>  

The patch gives me a picture, but it does not cover the whole screen.
Ps3videomode returns mode 67, and if i add 128 to that number I get
working fullscreen. Additionally, the break in ps3av_fixup_monitor_info
is misplaced and will only try the first quirk.

dmesg:
ps3av_hdmi_get_vid: Using supported resolution 9

-- 
Håvard Espeland