diff options
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-.patch | 51 |
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 @@ | |||
1 | From 66ce98f9164b89ce8566d303265e209829f41c9f Mon Sep 17 00:00:00 2001 | ||
2 | From: Jerome Glisse <jglisse@redhat.com> | ||
3 | Date: Thu, 19 Jul 2012 17:25:55 -0400 | ||
4 | Subject: [PATCH 69/73] drm/radeon: on hotplug force link training to happen | ||
5 | (v2) | ||
6 | |||
7 | commit ca2ccde5e2f24a792caa4cca919fc5c6f65d1887 upstream. | ||
8 | |||
9 | To have DP behave like VGA/DVI we need to retrain the link | ||
10 | on hotplug. For this to happen we need to force link | ||
11 | training to happen by setting connector dpms to off | ||
12 | before asking it turning it on again. | ||
13 | |||
14 | v2: agd5f | ||
15 | - drop the dp_get_link_status() change in atombios_dp.c | ||
16 | for now. We still need the dpms OFF change. | ||
17 | |||
18 | Signed-off-by: Jerome Glisse <jglisse@redhat.com> | ||
19 | Signed-off-by: Alex Deucher <alexander.deucher@amd.com> | ||
20 | Signed-off-by: Dave Airlie <airlied@redhat.com> | ||
21 | Signed-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 | |||
26 | diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c | ||
27 | index 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 | -- | ||
50 | 1.7.7.6 | ||
51 | |||