diff options
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_dp.c | 12 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_connectors.c | 21 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_mode.h | 1 |
3 files changed, 8 insertions, 26 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c index 5f2ddcd5f1e4..8c0f9e36ff8e 100644 --- a/drivers/gpu/drm/radeon/atombios_dp.c +++ b/drivers/gpu/drm/radeon/atombios_dp.c | |||
@@ -613,18 +613,6 @@ static bool radeon_dp_get_link_status(struct radeon_connector *radeon_connector, | |||
613 | return true; | 613 | return true; |
614 | } | 614 | } |
615 | 615 | ||
616 | bool radeon_dp_needs_link_train(struct radeon_connector *radeon_connector) | ||
617 | { | ||
618 | struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; | ||
619 | u8 link_status[DP_LINK_STATUS_SIZE]; | ||
620 | |||
621 | if (!radeon_dp_get_link_status(radeon_connector, link_status)) | ||
622 | return false; | ||
623 | if (dp_channel_eq_ok(link_status, dig_connector->dp_lane_count)) | ||
624 | return false; | ||
625 | return true; | ||
626 | } | ||
627 | |||
628 | struct radeon_dp_link_train_info { | 616 | struct radeon_dp_link_train_info { |
629 | struct radeon_device *rdev; | 617 | struct radeon_device *rdev; |
630 | struct drm_encoder *encoder; | 618 | struct drm_encoder *encoder; |
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index 6c9e17f3970e..5947871e1062 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c | |||
@@ -50,20 +50,15 @@ void radeon_connector_hotplug(struct drm_connector *connector) | |||
50 | struct radeon_device *rdev = dev->dev_private; | 50 | struct radeon_device *rdev = dev->dev_private; |
51 | struct radeon_connector *radeon_connector = to_radeon_connector(connector); | 51 | struct radeon_connector *radeon_connector = to_radeon_connector(connector); |
52 | 52 | ||
53 | if (radeon_connector->hpd.hpd != RADEON_HPD_NONE) | 53 | radeon_hpd_set_polarity(rdev, radeon_connector->hpd.hpd); |
54 | radeon_hpd_set_polarity(rdev, radeon_connector->hpd.hpd); | ||
55 | |||
56 | if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) || | ||
57 | (connector->connector_type == DRM_MODE_CONNECTOR_eDP)) { | ||
58 | if ((radeon_dp_getsinktype(radeon_connector) == CONNECTOR_OBJECT_ID_DISPLAYPORT) || | ||
59 | (radeon_dp_getsinktype(radeon_connector) == CONNECTOR_OBJECT_ID_eDP)) { | ||
60 | if (radeon_dp_needs_link_train(radeon_connector)) { | ||
61 | if (connector->encoder) | ||
62 | radeon_dp_link_train(connector->encoder, connector); | ||
63 | } | ||
64 | } | ||
65 | } | ||
66 | 54 | ||
55 | /* pre-r600 did not always have the hpd pins mapped accurately to connectors */ | ||
56 | if (rdev->family >= CHIP_R600) { | ||
57 | if (radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) | ||
58 | drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); | ||
59 | else | ||
60 | drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); | ||
61 | } | ||
67 | } | 62 | } |
68 | 63 | ||
69 | static void radeon_property_change_mode(struct drm_encoder *encoder) | 64 | static void radeon_property_change_mode(struct drm_encoder *encoder) |
diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h index 37f57baa68f8..88257bc5729b 100644 --- a/drivers/gpu/drm/radeon/radeon_mode.h +++ b/drivers/gpu/drm/radeon/radeon_mode.h | |||
@@ -470,7 +470,6 @@ extern bool radeon_connector_encoder_is_hbr2(struct drm_connector *connector); | |||
470 | extern bool radeon_connector_is_dp12_capable(struct drm_connector *connector); | 470 | extern bool radeon_connector_is_dp12_capable(struct drm_connector *connector); |
471 | 471 | ||
472 | extern void radeon_connector_hotplug(struct drm_connector *connector); | 472 | extern void radeon_connector_hotplug(struct drm_connector *connector); |
473 | extern bool radeon_dp_needs_link_train(struct radeon_connector *radeon_connector); | ||
474 | extern int radeon_dp_mode_valid_helper(struct drm_connector *connector, | 473 | extern int radeon_dp_mode_valid_helper(struct drm_connector *connector, |
475 | struct drm_display_mode *mode); | 474 | struct drm_display_mode *mode); |
476 | extern void radeon_dp_set_link_config(struct drm_connector *connector, | 475 | extern void radeon_dp_set_link_config(struct drm_connector *connector, |