This patch can make the testdisplay work if there is no preferred mode found. 
For example, 
if we use a 30 inch monitor(preferred mode is 2560x1600) with a single channel 
DVI cable, the driver will drop
the mode of 2560x1600. In this case testdisplay won't work because it can't 
find the preferred
Could anybody help to push this patch? Thanks.

Hai Lan

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On
> Behalf Of Lan, Hai
> Sent: Tuesday, May 31, 2011 5:47 PM
> To: Paul Menzel; [email protected]
> Subject: Re: [Intel-gfx] [PATCH] Test the first mode if there is no preferred
> mode.
> 
> Dear Paul
> Thanks for your advice. I am afraid there might be a i915 driver bug. We use
> the testdisplay to check the SDVO-TV and
> find the TV has no preferred mode. This will cause the testdisplay to quit. 
> So I
> write this patch to make the testdisplay to go on.
> 
> Hai Lan
> 
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On
> > Behalf Of Paul Menzel
> > Sent: Tuesday, May 31, 2011 5:05 PM
> > To: [email protected]
> > Subject: Re: [Intel-gfx] [PATCH] Test the first mode if there is no 
> > preferred
> > mode.
> >
> > Dear Hai,
> >
> >
> > Am Dienstag, den 31.05.2011, 17:24 -0400 schrieb Hai Lan:
> > > For a TV device, there  might be no preferred mode.
> >
> > is that an error of the device or is this a driver “feature”?
> >
> > > In this case, we can test the first mode.
> >
> > Is a Signed-off-by line needed to get your patch accepted? You can add it
> > automatically passing `-s` to `git commit` or `git format-patch`.
> >
> > > ---
> > >  tests/testdisplay.c |   13 ++++++++++---
> > >  1 files changed, 10 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/tests/testdisplay.c b/tests/testdisplay.c index
> > > 41a5753..ef194fe 100644
> > > --- a/tests/testdisplay.c
> > > +++ b/tests/testdisplay.c
> > > @@ -280,9 +280,16 @@ static void
> > connector_find_preferred_mode(struct connector *c)
> > >   }
> > >
> > >   if (!c->mode_valid) {
> > > -         fprintf(stderr, "failed to find any modes on connector %d\n",
> > > -                 c->id);
> > > -         return;
> > > +         if (connector->count_modes > 0) {
> > > +                 /* use the first mode as test mode */
> > > +                 c->mode = connector->modes[0];
> > > +                 c->mode_valid = 1;
> > > +         }
> > > +         else {
> > > +                 fprintf(stderr, "failed to find any modes on
> connector %d\n",
> > > +                         c->id);
> > > +                 return;
> > > +         }
> > >   }
> > >
> > >   /* Now get the encoder */
> >
> > Reviewed-by: Paul Menzel <[email protected]>
> >
> >
> > Thanks,
> >
> > Paul
> _______________________________________________
> Intel-gfx mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to