summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0069-drm-radeon-on-hotplug-force-link-training-to-happen-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0069-drm-radeon-on-hotplug-force-link-training-to-happen-.patch')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0069-drm-radeon-on-hotplug-force-link-training-to-happen-.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0069-drm-radeon-on-hotplug-force-link-training-to-happen-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0069-drm-radeon-on-hotplug-force-link-training-to-happen-.patch
new file mode 100644
index 00000000..67959f97
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0069-drm-radeon-on-hotplug-force-link-training-to-happen-.patch
@@ -0,0 +1,51 @@
1From 66ce98f9164b89ce8566d303265e209829f41c9f Mon Sep 17 00:00:00 2001
2From: Jerome Glisse <jglisse@redhat.com>
3Date: Thu, 19 Jul 2012 17:25:55 -0400
4Subject: [PATCH 69/73] drm/radeon: on hotplug force link training to happen
5 (v2)
6
7commit ca2ccde5e2f24a792caa4cca919fc5c6f65d1887 upstream.
8
9To have DP behave like VGA/DVI we need to retrain the link
10on hotplug. For this to happen we need to force link
11training to happen by setting connector dpms to off
12before asking it turning it on again.
13
14v2: agd5f
15- drop the dp_get_link_status() change in atombios_dp.c
16 for now. We still need the dpms OFF change.
17
18Signed-off-by: Jerome Glisse <jglisse@redhat.com>
19Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
20Signed-off-by: Dave Airlie <airlied@redhat.com>
21Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
22---
23 drivers/gpu/drm/radeon/radeon_connectors.c | 10 ++++++++--
24 1 files changed, 8 insertions(+), 2 deletions(-)
25
26diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
27index fb8db7a..87d494d 100644
28--- a/drivers/gpu/drm/radeon/radeon_connectors.c
29+++ b/drivers/gpu/drm/radeon/radeon_connectors.c
30@@ -79,10 +79,16 @@ void radeon_connector_hotplug(struct drm_connector *connector)
31 if (dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT) {
32 int saved_dpms = connector->dpms;
33 /* Only turn off the display if it's physically disconnected */
34- if (!radeon_hpd_sense(rdev, radeon_connector->hpd.hpd))
35+ if (!radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) {
36 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF);
37- else if (radeon_dp_needs_link_train(radeon_connector))
38+ } else if (radeon_dp_needs_link_train(radeon_connector)) {
39+ /* set it to OFF so that drm_helper_connector_dpms()
40+ * won't return immediately since the current state
41+ * is ON at this point.
42+ */
43+ connector->dpms = DRM_MODE_DPMS_OFF;
44 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON);
45+ }
46 connector->dpms = saved_dpms;
47 }
48 }
49--
501.7.7.6
51