From: Greg KH <gre...@linuxfoundation.org>

3.0-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jerome Glisse <jgli...@redhat.com>

commit ca2ccde5e2f24a792caa4cca919fc5c6f65d1887 upstream.

To have DP behave like VGA/DVI we need to retrain the link
on hotplug. For this to happen we need to force link
training to happen by setting connector dpms to off
before asking it turning it on again.

v2: agd5f
- drop the dp_get_link_status() change in atombios_dp.c
  for now.  We still need the dpms OFF change.

Signed-off-by: Jerome Glisse <jgli...@redhat.com>
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Dave Airlie <airl...@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/gpu/drm/radeon/radeon_connectors.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/radeon/radeon_connectors.c
+++ b/drivers/gpu/drm/radeon/radeon_connectors.c
@@ -81,10 +81,16 @@ void radeon_connector_hotplug(struct drm
                if (dig_connector->dp_sink_type == 
CONNECTOR_OBJECT_ID_DISPLAYPORT) {
                        int saved_dpms = connector->dpms;
                        /* Only turn off the display if it's physically 
disconnected */
-                       if (!radeon_hpd_sense(rdev, radeon_connector->hpd.hpd))
+                       if (!radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) 
{
                                drm_helper_connector_dpms(connector, 
DRM_MODE_DPMS_OFF);
-                       else if (radeon_dp_needs_link_train(radeon_connector))
+                       } else if 
(radeon_dp_needs_link_train(radeon_connector)) {
+                               /* set it to OFF so that 
drm_helper_connector_dpms()
+                                * won't return immediately since the current 
state
+                                * is ON at this point.
+                                */
+                               connector->dpms = DRM_MODE_DPMS_OFF;
                                drm_helper_connector_dpms(connector, 
DRM_MODE_DPMS_ON);
+                       }
                        connector->dpms = saved_dpms;
                }
        }


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to