aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_modes.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_modes.c')
-rw-r--r--drivers/gpu/drm/i915/intel_modes.c29
1 files changed, 21 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c
index 7a5238fc1a02..4bc1c0fc342a 100644
--- a/drivers/gpu/drm/i915/intel_modes.c
+++ b/drivers/gpu/drm/i915/intel_modes.c
@@ -33,6 +33,24 @@
33#include "i915_drv.h" 33#include "i915_drv.h"
34 34
35/** 35/**
36 * intel_connector_update_modes - update connector from edid
37 * @connector: DRM connector device to use
38 * @edid: previously read EDID information
39 */
40int intel_connector_update_modes(struct drm_connector *connector,
41 struct edid *edid)
42{
43 int ret;
44
45 drm_mode_connector_update_edid_property(connector, edid);
46 ret = drm_add_edid_modes(connector, edid);
47 drm_edid_to_eld(connector, edid);
48 kfree(edid);
49
50 return ret;
51}
52
53/**
36 * intel_ddc_get_modes - get modelist from monitor 54 * intel_ddc_get_modes - get modelist from monitor
37 * @connector: DRM connector device to use 55 * @connector: DRM connector device to use
38 * @adapter: i2c adapter 56 * @adapter: i2c adapter
@@ -43,17 +61,12 @@ int intel_ddc_get_modes(struct drm_connector *connector,
43 struct i2c_adapter *adapter) 61 struct i2c_adapter *adapter)
44{ 62{
45 struct edid *edid; 63 struct edid *edid;
46 int ret = 0;
47 64
48 edid = drm_get_edid(connector, adapter); 65 edid = drm_get_edid(connector, adapter);
49 if (edid) { 66 if (!edid)
50 drm_mode_connector_update_edid_property(connector, edid); 67 return 0;
51 ret = drm_add_edid_modes(connector, edid);
52 drm_edid_to_eld(connector, edid);
53 kfree(edid);
54 }
55 68
56 return ret; 69 return intel_connector_update_modes(connector, edid);
57} 70}
58 71
59static const struct drm_prop_enum_list force_audio_names[] = { 72static const struct drm_prop_enum_list force_audio_names[] = {