From: Greg Kroah-Hartman Date: Wed, 26 Sep 2012 23:16:10 +0000 (-0700) Subject: 3.4-stable patches X-Git-Tag: v3.0.44~56 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c275de3b5d16d2e0b30e510711723a059cb3c485;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: drm-i915-extract-connector-update-from-intel_ddc_get_modes-for-reuse.patch --- diff --git a/queue-3.4/drm-i915-extract-connector-update-from-intel_ddc_get_modes-for-reuse.patch b/queue-3.4/drm-i915-extract-connector-update-from-intel_ddc_get_modes-for-reuse.patch new file mode 100644 index 00000000000..c15791d9bc9 --- /dev/null +++ b/queue-3.4/drm-i915-extract-connector-update-from-intel_ddc_get_modes-for-reuse.patch @@ -0,0 +1,84 @@ +From 4eab81366465aedcfd26de960c595bc03599c09f Mon Sep 17 00:00:00 2001 +From: Jani Nikula +Date: Mon, 13 Aug 2012 13:22:34 +0300 +Subject: drm/i915: extract connector update from intel_ddc_get_modes() for reuse + +From: Jani Nikula + +commit 4eab81366465aedcfd26de960c595bc03599c09f upstream. + +Refactor the connector update part of intel_ddc_get_modes() into a separate +intel_connector_update_modes() function for reuse. No functional changes. + +Signed-off-by: Jani Nikula +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=45881 +Tested-by: Alex Ferrando +Signed-off-by: Daniel Vetter +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/i915/intel_drv.h | 2 ++ + drivers/gpu/drm/i915/intel_modes.c | 31 ++++++++++++++++++++++--------- + 2 files changed, 24 insertions(+), 9 deletions(-) + +--- a/drivers/gpu/drm/i915/intel_drv.h ++++ b/drivers/gpu/drm/i915/intel_drv.h +@@ -288,6 +288,8 @@ struct intel_fbc_work { + int interval; + }; + ++int intel_connector_update_modes(struct drm_connector *connector, ++ struct edid *edid); + int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter); + extern bool intel_ddc_probe(struct intel_encoder *intel_encoder, int ddc_bus); + +--- a/drivers/gpu/drm/i915/intel_modes.c ++++ b/drivers/gpu/drm/i915/intel_modes.c +@@ -60,6 +60,25 @@ bool intel_ddc_probe(struct intel_encode + } + + /** ++ * intel_connector_update_modes - update connector from edid ++ * @connector: DRM connector device to use ++ * @edid: previously read EDID information ++ */ ++int intel_connector_update_modes(struct drm_connector *connector, ++ struct edid *edid) ++{ ++ int ret; ++ ++ drm_mode_connector_update_edid_property(connector, edid); ++ ret = drm_add_edid_modes(connector, edid); ++ drm_edid_to_eld(connector, edid); ++ connector->display_info.raw_edid = NULL; ++ kfree(edid); ++ ++ return ret; ++} ++ ++/** + * intel_ddc_get_modes - get modelist from monitor + * @connector: DRM connector device to use + * @adapter: i2c adapter +@@ -70,18 +89,12 @@ int intel_ddc_get_modes(struct drm_conne + struct i2c_adapter *adapter) + { + struct edid *edid; +- int ret = 0; + + edid = drm_get_edid(connector, adapter); +- if (edid) { +- drm_mode_connector_update_edid_property(connector, edid); +- ret = drm_add_edid_modes(connector, edid); +- drm_edid_to_eld(connector, edid); +- connector->display_info.raw_edid = NULL; +- kfree(edid); +- } ++ if (!edid) ++ return 0; + +- return ret; ++ return intel_connector_update_modes(connector, edid); + } + + static const struct drm_prop_enum_list force_audio_names[] = { diff --git a/queue-3.4/series b/queue-3.4/series index 78cb3ca5db4..56e6eef5bfe 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -148,3 +148,4 @@ drm-radeon-ss-use-num_crtc-rather-than-hardcoded-6.patch drm-radeon-split-atrm-support-out-from-the-atpx-handler-v3.patch drm-radeon-implement-acpi-vfct-vbios-fetch-v3.patch drm-radeon-kms-extend-the-fujitsu-d3003-s2-board-connector-quirk-to-cover-later-silicon-stepping.patch +drm-i915-extract-connector-update-from-intel_ddc_get_modes-for-reuse.patch