diff options
author | Dave Airlie | 2010-04-20 05:14:38 +0200 |
---|---|---|
committer | Dave Airlie | 2010-04-20 05:14:38 +0200 |
commit | c9c2625ff4fc4ce652e686f895059d2902c01ca0 (patch) | |
tree | 243c07b0380d60d15566064843acb2213b0cacdf /drivers/gpu/drm/drm_crtc.c | |
parent | Merge branch 'drm-ttm-pool' into drm-core-next (diff) | |
parent | drm/edid: When checking duplicate standard modes, walked the probed list (diff) | |
download | kernel-qcow2-linux-c9c2625ff4fc4ce652e686f895059d2902c01ca0.tar.gz kernel-qcow2-linux-c9c2625ff4fc4ce652e686f895059d2902c01ca0.tar.xz kernel-qcow2-linux-c9c2625ff4fc4ce652e686f895059d2902c01ca0.zip |
Merge branch 'drm-edid-fixes' into drm-core-next
* drm-edid-fixes:
drm/edid: When checking duplicate standard modes, walked the probed list
drm/edid: Fix sync polarity for secondary GTF curve
drm/modes: Fix interlaced mode names
drm/edid: Add secondary GTF curve support
drm/edid: Strengthen the algorithm for standard mode codes
drm/edid: Fix the HDTV hack.
drm/edid: Extend range-based mode addition for EDID 1.4
drm/edid: Add test for monitor reduced blanking support.
drm/edid: Fix preferred mode parse for EDID 1.4
drm/edid: Remove some silly comments
drm/edid: Remove arbitrary EDID extension limit
drm/edid: Add modes for Established Timings III section
drm/edid: Reshuffle mode list construction to closer match the spec
drm/edid: Remove a redundant check
drm/edid: Remove some misleading comments
drm/edid: Fix secondary block fetch.
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 61b9bcfdf040..1d66710543c0 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -34,6 +34,7 @@ #include "drm.h" #include "drmP.h" #include "drm_crtc.h" +#include "drm_edid.h" struct drm_prop_enum_list { int type; @@ -2350,7 +2351,7 @@ int drm_mode_connector_update_edid_property(struct drm_connector *connector, struct edid *edid) { struct drm_device *dev = connector->dev; - int ret = 0; + int ret = 0, size; if (connector->edid_blob_ptr) drm_property_destroy_blob(dev, connector->edid_blob_ptr); @@ -2362,7 +2363,9 @@ int drm_mode_connector_update_edid_property(struct drm_connector *connector, return ret; } - connector->edid_blob_ptr = drm_property_create_blob(connector->dev, 128, edid); + size = EDID_LENGTH * (1 + edid->extensions); + connector->edid_blob_ptr = drm_property_create_blob(connector->dev, + size, edid); ret = drm_connector_property_set_value(connector, dev->mode_config.edid_property, |