|
Lines 446-451
Link Here
|
| 446 |
|
446 |
|
| 447 |
int amdgpu_atombios_encoder_get_encoder_mode(struct drm_encoder *encoder) |
447 |
int amdgpu_atombios_encoder_get_encoder_mode(struct drm_encoder *encoder) |
| 448 |
{ |
448 |
{ |
|
|
449 |
struct drm_device *dev = encoder->dev; |
| 450 |
struct amdgpu_device *adev = dev->dev_private; |
| 449 |
struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
451 |
struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
| 450 |
struct drm_connector *connector; |
452 |
struct drm_connector *connector; |
| 451 |
struct amdgpu_connector *amdgpu_connector; |
453 |
struct amdgpu_connector *amdgpu_connector; |
|
Lines 471-477
Link Here
|
| 471 |
switch (connector->connector_type) { |
473 |
switch (connector->connector_type) { |
| 472 |
case DRM_MODE_CONNECTOR_DVII: |
474 |
case DRM_MODE_CONNECTOR_DVII: |
| 473 |
case DRM_MODE_CONNECTOR_HDMIB: /* HDMI-B is basically DL-DVI; analog works fine */ |
475 |
case DRM_MODE_CONNECTOR_HDMIB: /* HDMI-B is basically DL-DVI; analog works fine */ |
| 474 |
if (amdgpu_audio != 0) { |
476 |
if (adev->asic_type == CHIP_TAHITI) { |
|
|
477 |
return ATOM_ENCODER_MODE_DVI; |
| 478 |
} else if (amdgpu_audio != 0) { |
| 475 |
if (amdgpu_connector->use_digital && |
479 |
if (amdgpu_connector->use_digital && |
| 476 |
(amdgpu_connector->audio == AMDGPU_AUDIO_ENABLE)) |
480 |
(amdgpu_connector->audio == AMDGPU_AUDIO_ENABLE)) |
| 477 |
return ATOM_ENCODER_MODE_HDMI; |
481 |
return ATOM_ENCODER_MODE_HDMI; |
|
Lines 491-497
Link Here
|
| 491 |
case DRM_MODE_CONNECTOR_DVID: |
495 |
case DRM_MODE_CONNECTOR_DVID: |
| 492 |
case DRM_MODE_CONNECTOR_HDMIA: |
496 |
case DRM_MODE_CONNECTOR_HDMIA: |
| 493 |
default: |
497 |
default: |
| 494 |
if (amdgpu_audio != 0) { |
498 |
if (adev->asic_type == CHIP_TAHITI) { |
|
|
499 |
return ATOM_ENCODER_MODE_DVI; |
| 500 |
} else if (amdgpu_audio != 0) { |
| 495 |
if (amdgpu_connector->audio == AMDGPU_AUDIO_ENABLE) |
501 |
if (amdgpu_connector->audio == AMDGPU_AUDIO_ENABLE) |
| 496 |
return ATOM_ENCODER_MODE_HDMI; |
502 |
return ATOM_ENCODER_MODE_HDMI; |
| 497 |
else if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector)) && |
503 |
else if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector)) && |
|
Lines 511-516
Link Here
|
| 511 |
if ((dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT) || |
517 |
if ((dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT) || |
| 512 |
(dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_eDP)) { |
518 |
(dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_eDP)) { |
| 513 |
return ATOM_ENCODER_MODE_DP; |
519 |
return ATOM_ENCODER_MODE_DP; |
|
|
520 |
} else if (adev->asic_type == CHIP_TAHITI) { |
| 521 |
return ATOM_ENCODER_MODE_DVI; |
| 514 |
} else if (amdgpu_audio != 0) { |
522 |
} else if (amdgpu_audio != 0) { |
| 515 |
if (amdgpu_connector->audio == AMDGPU_AUDIO_ENABLE) |
523 |
if (amdgpu_connector->audio == AMDGPU_AUDIO_ENABLE) |
| 516 |
return ATOM_ENCODER_MODE_HDMI; |
524 |
return ATOM_ENCODER_MODE_HDMI; |