]>
Commit | Line | Data |
---|---|---|
6691e1a9 GKH |
1 | From d3a67a43b0460bae3e2ac14092497833344ac10d Mon Sep 17 00:00:00 2001 |
2 | From: Alex Deucher <alexdeucher@gmail.com> | |
3 | Date: Tue, 13 Apr 2010 11:21:59 -0400 | |
4 | Subject: drm/radeon/kms: disable the tv encoder when tv/cv is not in use | |
5 | ||
6 | From: Alex Deucher <alexdeucher@gmail.com> | |
7 | ||
8 | commit d3a67a43b0460bae3e2ac14092497833344ac10d upstream. | |
9 | ||
10 | Switching between TV and VGA caused VGA to break on some systems | |
11 | since the TV encoder was left enabled when VGA was used. | |
12 | ||
13 | fixes fdo bug 25520. | |
14 | ||
15 | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> | |
16 | Signed-off-by: Dave Airlie <airlied@redhat.com> | |
17 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
18 | ||
19 | --- | |
20 | drivers/gpu/drm/radeon/radeon_encoders.c | 8 ++++++-- | |
21 | 1 file changed, 6 insertions(+), 2 deletions(-) | |
22 | ||
23 | --- a/drivers/gpu/drm/radeon/radeon_encoders.c | |
24 | +++ b/drivers/gpu/drm/radeon/radeon_encoders.c | |
25 | @@ -1155,8 +1155,12 @@ radeon_atom_encoder_mode_set(struct drm_ | |
26 | case ENCODER_OBJECT_ID_INTERNAL_DAC2: | |
27 | case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2: | |
28 | atombios_dac_setup(encoder, ATOM_ENABLE); | |
29 | - if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) | |
30 | - atombios_tv_setup(encoder, ATOM_ENABLE); | |
31 | + if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) { | |
32 | + if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) | |
33 | + atombios_tv_setup(encoder, ATOM_ENABLE); | |
34 | + else | |
35 | + atombios_tv_setup(encoder, ATOM_DISABLE); | |
36 | + } | |
37 | break; | |
38 | } | |
39 | atombios_apply_encoder_quirks(encoder, adjusted_mode); |