Make a copy of drm_property_blob data for user-supplied EDID blobs.

v2: Allocate and memcopy drm_property_blob->data instead of pointing
to it.

Signed-off-by: Marius Vlad <marius.c.v...@intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c 
b/drivers/gpu/drm/i915/intel_hdmi.c
index 8698a64..4c9bb5f 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1355,6 +1355,16 @@ intel_hdmi_set_edid(struct drm_connector *connector, 
bool force)
                                    intel_gmbus_get_adapter(dev_priv,
                                    intel_hdmi->ddc_bus));
 
+               /*
+                * Use the user-supplied EDID blob in case we don't have an
+                * EDID from the display.
+                */
+               if (!edid && connector->override_edid) {
+                       edid = kmemdup(connector->edid_blob_ptr->data,
+                                      connector->edid_blob_ptr->length,
+                                      GFP_KERNEL);
+               }
+
                intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS);
        }
 
-- 
2.7.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to