diff options
author | Dave Airlie <airlied@redhat.com> | 2014-06-05 06:28:59 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2014-06-05 06:28:59 -0400 |
commit | 8d4ad9d4bb0a618c975a32d77087694ec6336f68 (patch) | |
tree | d18d12688174a623e3503b11118e44ef8186c90b /drivers/gpu/drm/radeon/atombios_dp.c | |
parent | 5ea1f752ae04be403a3dc8ec876a60d7f5f6990a (diff) | |
parent | 9e9a928eed8796a0a1aaed7e0b676db86ba84594 (diff) |
Merge commit '9e9a928eed8796a0a1aaed7e0b676db86ba84594' into drm-next
Merge drm-fixes into drm-next.
Both i915 and radeon need this done for later patches.
Conflicts:
drivers/gpu/drm/drm_crtc_helper.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_execbuffer.c
drivers/gpu/drm/i915/i915_gem_gtt.c
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_dp.c')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_dp.c | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c index a54c44181a0f..c5b1f2da3954 100644 --- a/drivers/gpu/drm/radeon/atombios_dp.c +++ b/drivers/gpu/drm/radeon/atombios_dp.c | |||
@@ -390,11 +390,11 @@ static void radeon_dp_probe_oui(struct radeon_connector *radeon_connector) | |||
390 | if (!(dig_connector->dpcd[DP_DOWN_STREAM_PORT_COUNT] & DP_OUI_SUPPORT)) | 390 | if (!(dig_connector->dpcd[DP_DOWN_STREAM_PORT_COUNT] & DP_OUI_SUPPORT)) |
391 | return; | 391 | return; |
392 | 392 | ||
393 | if (drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_SINK_OUI, buf, 3)) | 393 | if (drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_SINK_OUI, buf, 3) == 3) |
394 | DRM_DEBUG_KMS("Sink OUI: %02hx%02hx%02hx\n", | 394 | DRM_DEBUG_KMS("Sink OUI: %02hx%02hx%02hx\n", |
395 | buf[0], buf[1], buf[2]); | 395 | buf[0], buf[1], buf[2]); |
396 | 396 | ||
397 | if (drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_BRANCH_OUI, buf, 3)) | 397 | if (drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_BRANCH_OUI, buf, 3) == 3) |
398 | DRM_DEBUG_KMS("Branch OUI: %02hx%02hx%02hx\n", | 398 | DRM_DEBUG_KMS("Branch OUI: %02hx%02hx%02hx\n", |
399 | buf[0], buf[1], buf[2]); | 399 | buf[0], buf[1], buf[2]); |
400 | } | 400 | } |
@@ -443,21 +443,23 @@ int radeon_dp_get_panel_mode(struct drm_encoder *encoder, | |||
443 | 443 | ||
444 | if (dp_bridge != ENCODER_OBJECT_ID_NONE) { | 444 | if (dp_bridge != ENCODER_OBJECT_ID_NONE) { |
445 | /* DP bridge chips */ | 445 | /* DP bridge chips */ |
446 | drm_dp_dpcd_readb(&radeon_connector->ddc_bus->aux, | 446 | if (drm_dp_dpcd_readb(&radeon_connector->ddc_bus->aux, |
447 | DP_EDP_CONFIGURATION_CAP, &tmp); | 447 | DP_EDP_CONFIGURATION_CAP, &tmp) == 1) { |
448 | if (tmp & 1) | 448 | if (tmp & 1) |
449 | panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE; | 449 | panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE; |
450 | else if ((dp_bridge == ENCODER_OBJECT_ID_NUTMEG) || | 450 | else if ((dp_bridge == ENCODER_OBJECT_ID_NUTMEG) || |
451 | (dp_bridge == ENCODER_OBJECT_ID_TRAVIS)) | 451 | (dp_bridge == ENCODER_OBJECT_ID_TRAVIS)) |
452 | panel_mode = DP_PANEL_MODE_INTERNAL_DP1_MODE; | 452 | panel_mode = DP_PANEL_MODE_INTERNAL_DP1_MODE; |
453 | else | 453 | else |
454 | panel_mode = DP_PANEL_MODE_EXTERNAL_DP_MODE; | 454 | panel_mode = DP_PANEL_MODE_EXTERNAL_DP_MODE; |
455 | } | ||
455 | } else if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { | 456 | } else if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { |
456 | /* eDP */ | 457 | /* eDP */ |
457 | drm_dp_dpcd_readb(&radeon_connector->ddc_bus->aux, | 458 | if (drm_dp_dpcd_readb(&radeon_connector->ddc_bus->aux, |
458 | DP_EDP_CONFIGURATION_CAP, &tmp); | 459 | DP_EDP_CONFIGURATION_CAP, &tmp) == 1) { |
459 | if (tmp & 1) | 460 | if (tmp & 1) |
460 | panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE; | 461 | panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE; |
462 | } | ||
461 | } | 463 | } |
462 | 464 | ||
463 | return panel_mode; | 465 | return panel_mode; |
@@ -833,11 +835,15 @@ void radeon_dp_link_train(struct drm_encoder *encoder, | |||
833 | else | 835 | else |
834 | dp_info.enc_id |= ATOM_DP_CONFIG_LINK_A; | 836 | dp_info.enc_id |= ATOM_DP_CONFIG_LINK_A; |
835 | 837 | ||
836 | drm_dp_dpcd_readb(&radeon_connector->ddc_bus->aux, DP_MAX_LANE_COUNT, &tmp); | 838 | if (drm_dp_dpcd_readb(&radeon_connector->ddc_bus->aux, DP_MAX_LANE_COUNT, &tmp) |
837 | if (ASIC_IS_DCE5(rdev) && (tmp & DP_TPS3_SUPPORTED)) | 839 | == 1) { |
838 | dp_info.tp3_supported = true; | 840 | if (ASIC_IS_DCE5(rdev) && (tmp & DP_TPS3_SUPPORTED)) |
839 | else | 841 | dp_info.tp3_supported = true; |
842 | else | ||
843 | dp_info.tp3_supported = false; | ||
844 | } else { | ||
840 | dp_info.tp3_supported = false; | 845 | dp_info.tp3_supported = false; |
846 | } | ||
841 | 847 | ||
842 | memcpy(dp_info.dpcd, dig_connector->dpcd, DP_RECEIVER_CAP_SIZE); | 848 | memcpy(dp_info.dpcd, dig_connector->dpcd, DP_RECEIVER_CAP_SIZE); |
843 | dp_info.rdev = rdev; | 849 | dp_info.rdev = rdev; |