Message ID | 1306877087-6952-1-git-send-email-hai.lan@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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: intel-gfx-bounces+hai.lan=intel.com@lists.freedesktop.org > [mailto:intel-gfx-bounces+hai.lan=intel.com@lists.freedesktop.org] On > Behalf Of Lan, Hai > Sent: Tuesday, May 31, 2011 5:47 PM > To: Paul Menzel; intel-gfx@lists.freedesktop.org > 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: intel-gfx-bounces+hai.lan=intel.com@lists.freedesktop.org > > [mailto:intel-gfx-bounces+hai.lan=intel.com@lists.freedesktop.org] On > > Behalf Of Paul Menzel > > Sent: Tuesday, May 31, 2011 5:05 PM > > To: intel-gfx@lists.freedesktop.org > > 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 <paulepanter@users.sourceforge.net> > > > > > > Thanks, > > > > Paul > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
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 */