drm/radeon/kms: disable the tv encoder when tv/cv is not in use

Switching between TV and VGA caused VGA to break on some systems
since the TV encoder was left enabled when VGA was used.

fixes fdo bug 25520.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by Alex Deucher and committed by Dave Airlie d3a67a43 a1a4b23b

+6 -2
+6 -2
drivers/gpu/drm/radeon/radeon_encoders.c
··· 1377 1377 case ENCODER_OBJECT_ID_INTERNAL_DAC2: 1378 1378 case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2: 1379 1379 atombios_dac_setup(encoder, ATOM_ENABLE); 1380 - if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) 1381 - atombios_tv_setup(encoder, ATOM_ENABLE); 1380 + if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) { 1381 + if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) 1382 + atombios_tv_setup(encoder, ATOM_ENABLE); 1383 + else 1384 + atombios_tv_setup(encoder, ATOM_DISABLE); 1385 + } 1382 1386 break; 1383 1387 } 1384 1388 atombios_apply_encoder_quirks(encoder, adjusted_mode);