public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm: edid revision 0 is valid
@ 2009-02-25  1:31 Kyle McMartin
  2009-02-25  1:44 ` Jesse Barnes
  2009-03-11  2:56 ` Jamie Lokier
  0 siblings, 2 replies; 4+ messages in thread
From: Kyle McMartin @ 2009-02-25  1:31 UTC (permalink / raw)
  To: airlied; +Cc: linux-kernel, dri-devel, jbarnes, marko.ristola

From: Kyle McMartin <kyle@redhat.com>

edid->revision == 0 should be valid (at least, so the error message
indicates. :) and wikipedia seems to indicate that EDID 1.0 existed.

We can dump the entire check, since edid->revision is a u8, so
it can't ever be less than 0.

Marko reports in RH bz#476735 that his monitor claims to be
EDID 1.0, and therefore hits the check and is stuck at 800x600 because
of it.

Reported-by: Marko Ristola <marko.ristola@kolumbus.fi>
Signed-off-by: Kyle McMartin <kyle@redhat.com>
---
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 5a4d324..ec14dd8 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -125,7 +125,7 @@ static bool edid_is_valid(struct edid *edid)
 		DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version);
 		goto bad;
 	}
-	if (edid->revision <= 0 || edid->revision > 3) {
+	if (edid->revision > 3) {
 		DRM_ERROR("EDID has minor version %d, which is not between 0-3\n", edid->revision);
 		goto bad;
 	}

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm: edid revision 0 is valid
  2009-02-25  1:31 [PATCH] drm: edid revision 0 is valid Kyle McMartin
@ 2009-02-25  1:44 ` Jesse Barnes
  2009-03-11  2:56 ` Jamie Lokier
  1 sibling, 0 replies; 4+ messages in thread
From: Jesse Barnes @ 2009-02-25  1:44 UTC (permalink / raw)
  To: Kyle McMartin; +Cc: airlied, linux-kernel, dri-devel, marko.ristola

On Tuesday, February 24, 2009 5:31:53 pm Kyle McMartin wrote:
> From: Kyle McMartin <kyle@redhat.com>
>
> edid->revision == 0 should be valid (at least, so the error message
> indicates. :) and wikipedia seems to indicate that EDID 1.0 existed.
>
> We can dump the entire check, since edid->revision is a u8, so
> it can't ever be less than 0.
>
> Marko reports in RH bz#476735 that his monitor claims to be
> EDID 1.0, and therefore hits the check and is stuck at 800x600 because
> of it.
>
> Reported-by: Marko Ristola <marko.ristola@kolumbus.fi>
> Signed-off-by: Kyle McMartin <kyle@redhat.com>

Heh, yeah this makes the code correct *and* match the message.  Thanks.

Acked-by: Jesse Barnes <jbarnes@virtuousgek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm: edid revision 0 is valid
  2009-02-25  1:31 [PATCH] drm: edid revision 0 is valid Kyle McMartin
  2009-02-25  1:44 ` Jesse Barnes
@ 2009-03-11  2:56 ` Jamie Lokier
  2009-03-11  3:10   ` Eric Anholt
  1 sibling, 1 reply; 4+ messages in thread
From: Jamie Lokier @ 2009-03-11  2:56 UTC (permalink / raw)
  To: Kyle McMartin; +Cc: airlied, linux-kernel, dri-devel, jbarnes, marko.ristola

Kyle McMartin wrote:
> -	if (edid->revision <= 0 || edid->revision > 3) {
> +	if (edid->revision > 3) {
>  		DRM_ERROR("EDID has minor version %d, which is not between 0-3\n", edid->revision);
>  		goto bad;

Ahem.  EDID version 1.4 exists too, in fact it's the current version.
EDID 1.5+ doesn't exist, but it should be backward compatible when it does.

I'm doing a lot of work on another EDID parser, including full DMT and
CEA-861 mode tables, monitor hotplug, all quirks from Xorg and the
kernel, EDID 1.4 support w/ CVT calculation, etc. right now for an
embedded Linux video project.  Would there be any interest
incorporating parts of that work?

-- Jamie

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm: edid revision 0 is valid
  2009-03-11  2:56 ` Jamie Lokier
@ 2009-03-11  3:10   ` Eric Anholt
  0 siblings, 0 replies; 4+ messages in thread
From: Eric Anholt @ 2009-03-11  3:10 UTC (permalink / raw)
  To: Jamie Lokier
  Cc: Kyle McMartin, airlied, linux-kernel, dri-devel, jbarnes,
	marko.ristola

[-- Attachment #1: Type: text/plain, Size: 984 bytes --]

On Wed, 2009-03-11 at 02:56 +0000, Jamie Lokier wrote:
> Kyle McMartin wrote:
> > -	if (edid->revision <= 0 || edid->revision > 3) {
> > +	if (edid->revision > 3) {
> >  		DRM_ERROR("EDID has minor version %d, which is not between 0-3\n", edid->revision);
> >  		goto bad;
> 
> Ahem.  EDID version 1.4 exists too, in fact it's the current version.
> EDID 1.5+ doesn't exist, but it should be backward compatible when it does.
> 
> I'm doing a lot of work on another EDID parser, including full DMT and
> CEA-861 mode tables, monitor hotplug, all quirks from Xorg and the
> kernel, EDID 1.4 support w/ CVT calculation, etc. right now for an
> embedded Linux video project.  Would there be any interest
> incorporating parts of that work?

There's work going on for CEA-861 and syncing KMS against UMS.  But
certainly we love fixes when we don't even have to write them ourselves.

-- 
Eric Anholt
eric@anholt.net                         eric.anholt@intel.com



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-03-11  3:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-25  1:31 [PATCH] drm: edid revision 0 is valid Kyle McMartin
2009-02-25  1:44 ` Jesse Barnes
2009-03-11  2:56 ` Jamie Lokier
2009-03-11  3:10   ` Eric Anholt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox