drm/radeon: fix hdmi mode enable on RS600/RS690/RS740
These chips were previously skipped since they are pre-R600. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
This commit is contained in:
Родитель
f93e3fc37e
Коммит
dcb8529057
|
@ -433,7 +433,7 @@ void r600_hdmi_enable(struct drm_encoder *encoder)
|
||||||
offset = dig->afmt->offset;
|
offset = dig->afmt->offset;
|
||||||
|
|
||||||
/* Older chipsets require setting HDMI and routing manually */
|
/* Older chipsets require setting HDMI and routing manually */
|
||||||
if (rdev->family >= CHIP_R600 && !ASIC_IS_DCE3(rdev)) {
|
if (ASIC_IS_DCE2(rdev) && !ASIC_IS_DCE3(rdev)) {
|
||||||
hdmi = HDMI0_ERROR_ACK | HDMI0_ENABLE;
|
hdmi = HDMI0_ERROR_ACK | HDMI0_ENABLE;
|
||||||
switch (radeon_encoder->encoder_id) {
|
switch (radeon_encoder->encoder_id) {
|
||||||
case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
|
case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
|
||||||
|
@ -499,7 +499,7 @@ void r600_hdmi_disable(struct drm_encoder *encoder)
|
||||||
radeon_irq_kms_disable_afmt(rdev, dig->afmt->id);
|
radeon_irq_kms_disable_afmt(rdev, dig->afmt->id);
|
||||||
|
|
||||||
/* Older chipsets not handled by AtomBIOS */
|
/* Older chipsets not handled by AtomBIOS */
|
||||||
if (rdev->family >= CHIP_R600 && !ASIC_IS_DCE3(rdev)) {
|
if (ASIC_IS_DCE2(rdev) && !ASIC_IS_DCE3(rdev)) {
|
||||||
switch (radeon_encoder->encoder_id) {
|
switch (radeon_encoder->encoder_id) {
|
||||||
case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
|
case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
|
||||||
WREG32_AND(AVIVO_TMDSA_CNTL, ~AVIVO_TMDSA_CNTL_HDMI_EN);
|
WREG32_AND(AVIVO_TMDSA_CNTL, ~AVIVO_TMDSA_CNTL_HDMI_EN);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче