drm/amdgpu: Don't link train DisplayPort on HPD until we get the dpcd
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 21 Aug 2015 22:07:38 +0000 (18:07 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 21 Aug 2015 22:07:38 +0000 (18:07 -0400)
This is a port of:
DRM - radeon: Don't link train DisplayPort on HPD until we get the dpcd
to amdgpu.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c

index 27df17a0e620f28e9121c706c56003f2c882eaf8..89c3dd62ba21ecd116b8490ed105573cecd86a82 100644 (file)
@@ -75,6 +75,11 @@ void amdgpu_connector_hotplug(struct drm_connector *connector)
                        if (!amdgpu_display_hpd_sense(adev, amdgpu_connector->hpd.hpd)) {
                                drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF);
                        } else if (amdgpu_atombios_dp_needs_link_train(amdgpu_connector)) {
+                               /* Don't try to start link training before we
+                                * have the dpcd */
+                               if (!amdgpu_atombios_dp_get_dpcd(amdgpu_connector))
+                                       return;
+
                                /* set it to OFF so that drm_helper_connector_dpms()
                                 * won't return immediately since the current state
                                 * is ON at this point.