On Fri, 14 Feb 2014 20:17:47 +0100
Hans de Goede <[email protected]> wrote:
> On 02/12/2014 06:07 PM, Siarhei Siamashka wrote:
> >> struct pclk_override pclk_override[] = {
> >> - /* VIC PCLK AVI_PR INPUTX INPUTY HT HBP HFP HPSW VT VBP VFP VPSW
> >> I HS VS override */
> >> + /* VIC PCLK AVI_PR INPUTX INPUTY HT HBP HFP HPSW VT VBP
> >> VFP VPSW I HS VS override */
> >> { { HDMI_EDID, 146250000, 0, 1680, 1050, 2240, 456, 104, 176, 1089, 36,
> >> 3, 6, 0, 0, 1 }, 146000000 },
> >> + { { HDMI_EDID, 83500000, 0, 1280, 800, 1680, 328, 72, 128, 831, 28,
> >> 3, 6, 0, 0, 1 }, 83250000 },
> >> + { { HDMI_EDID, 83500000, 0, 1280, 800, 1680, 328, 72, 128, 831, 21,
> >> 10, 6, 0, 0, 1 }, 83250000 },
> >> { { 0, }, -1 }
> >> };
> >
> > Instead of populating this table all the time, would it be wrong to
> > just always round down the pixel clock to the nearest supported value?
> > And show a warning in the log whenever this happens.
>
> That may or may not work, which is why I've gone for the table option
> instead, it is better to fall back to something which is not native
> but will work, then to choose something which may or may not work.
> All the entries in the table have been tested to actually work with at
> least one device advertising the modeline in the table.
OK. I just wonder how common is it for the users to even report
monitors with incompatible EDID timings?
An extra kernel command line option which would do automatic rounding
of the pixel clock could be useful for quick experiments done by the
users themselves when troubleshooting.
> You got the round DOWN bit very correct BTW, at leats so far it
> seems that rounding down works better then rounding to the closest
> value (which may be up).
This seems to be a common sense. The native screen resolution
is normally expected to be the highest resolution supported by
a monitor. So the default EDID mode is likely to have the pixel
clock configured exactly on the highest border of the allowed
pixel clock frequencies range. Hence rounding the pixel clock
up may easily drive it outside of the supported range.
--
Best regards,
Siarhei Siamashka
--
You received this message because you are subscribed to the Google Groups
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.