diff options
author | Adam Jackson <ajax@redhat.com> | 2010-03-29 17:43:23 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-04-05 20:40:20 -0400 |
commit | 7466f4cc508878a8328dff1c328a2b4108888d2e (patch) | |
tree | a46b13cd8b1baa22f241d1e8c90809a73c333561 /drivers/gpu/drm/drm_crtc.c | |
parent | 2255be14cb82370a6af4054edb3b4cd170d80752 (diff) |
drm/edid: Remove arbitrary EDID extension limit
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_crtc.c')
-rw-r--r-- | drivers/gpu/drm/drm_crtc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index d91fb8c0b7b..aa24f2f9dc0 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include "drm.h" | 33 | #include "drm.h" |
34 | #include "drmP.h" | 34 | #include "drmP.h" |
35 | #include "drm_crtc.h" | 35 | #include "drm_crtc.h" |
36 | #include "drm_edid.h" | ||
36 | 37 | ||
37 | struct drm_prop_enum_list { | 38 | struct drm_prop_enum_list { |
38 | int type; | 39 | int type; |
@@ -2349,7 +2350,7 @@ int drm_mode_connector_update_edid_property(struct drm_connector *connector, | |||
2349 | struct edid *edid) | 2350 | struct edid *edid) |
2350 | { | 2351 | { |
2351 | struct drm_device *dev = connector->dev; | 2352 | struct drm_device *dev = connector->dev; |
2352 | int ret = 0; | 2353 | int ret = 0, size; |
2353 | 2354 | ||
2354 | if (connector->edid_blob_ptr) | 2355 | if (connector->edid_blob_ptr) |
2355 | drm_property_destroy_blob(dev, connector->edid_blob_ptr); | 2356 | drm_property_destroy_blob(dev, connector->edid_blob_ptr); |
@@ -2361,7 +2362,9 @@ int drm_mode_connector_update_edid_property(struct drm_connector *connector, | |||
2361 | return ret; | 2362 | return ret; |
2362 | } | 2363 | } |
2363 | 2364 | ||
2364 | connector->edid_blob_ptr = drm_property_create_blob(connector->dev, 128, edid); | 2365 | size = EDID_LENGTH * (1 + edid->extensions); |
2366 | connector->edid_blob_ptr = drm_property_create_blob(connector->dev, | ||
2367 | size, edid); | ||
2365 | 2368 | ||
2366 | ret = drm_connector_property_set_value(connector, | 2369 | ret = drm_connector_property_set_value(connector, |
2367 | dev->mode_config.edid_property, | 2370 | dev->mode_config.edid_property, |