diff options
Diffstat (limited to 'drivers/gpu/drm/drm_edid.c')
-rw-r--r-- | drivers/gpu/drm/drm_edid.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index c67400067b85..ca9c61656714 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c | |||
@@ -125,10 +125,8 @@ static bool edid_is_valid(struct edid *edid) | |||
125 | DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); | 125 | DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); |
126 | goto bad; | 126 | goto bad; |
127 | } | 127 | } |
128 | if (edid->revision > 3) { | 128 | if (edid->revision > 4) |
129 | DRM_ERROR("EDID has minor version %d, which is not between 0-3\n", edid->revision); | 129 | DRM_DEBUG("EDID minor > 4, assuming backward compatibility\n"); |
130 | goto bad; | ||
131 | } | ||
132 | 130 | ||
133 | for (i = 0; i < EDID_LENGTH; i++) | 131 | for (i = 0; i < EDID_LENGTH; i++) |
134 | csum += raw_edid[i]; | 132 | csum += raw_edid[i]; |
@@ -162,7 +160,7 @@ static bool edid_vendor(struct edid *edid, char *vendor) | |||
162 | edid_vendor[0] = ((edid->mfg_id[0] & 0x7c) >> 2) + '@'; | 160 | edid_vendor[0] = ((edid->mfg_id[0] & 0x7c) >> 2) + '@'; |
163 | edid_vendor[1] = (((edid->mfg_id[0] & 0x3) << 3) | | 161 | edid_vendor[1] = (((edid->mfg_id[0] & 0x3) << 3) | |
164 | ((edid->mfg_id[1] & 0xe0) >> 5)) + '@'; | 162 | ((edid->mfg_id[1] & 0xe0) >> 5)) + '@'; |
165 | edid_vendor[2] = (edid->mfg_id[2] & 0x1f) + '@'; | 163 | edid_vendor[2] = (edid->mfg_id[1] & 0x1f) + '@'; |
166 | 164 | ||
167 | return !strncmp(edid_vendor, vendor, 3); | 165 | return !strncmp(edid_vendor, vendor, 3); |
168 | } | 166 | } |