[PATCH] drm/radeon/kms: fix DCE4.1 dig routing
Alex Deucher
alexdeucher at gmail.com
Thu Dec 16 15:26:44 PST 2010
Works just like DCE4.0 despite what the docs say.
This fixes blank screen issues when changing crtc
routing due to incorrect crtc to dig mapping.
Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
---
drivers/gpu/drm/radeon/radeon_encoders.c | 17 +++--------------
1 files changed, 3 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
index e4e64a8..10ba103 100644
--- a/drivers/gpu/drm/radeon/radeon_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
@@ -910,15 +910,9 @@ atombios_dig_transmitter_setup(struct drm_encoder *encoder, int action, uint8_t
else
args.v3.ucLaneNum = 4;
- if (ASIC_IS_DCE41(rdev)) {
- args.v3.acConfig.ucEncoderSel = dig->dig_encoder;
- if (dig->linkb)
- args.v3.acConfig.ucLinkSel = 1;
- } else {
- if (dig->linkb) {
- args.v3.acConfig.ucLinkSel = 1;
- args.v3.acConfig.ucEncoderSel = 1;
- }
+ if (dig->linkb) {
+ args.v3.acConfig.ucLinkSel = 1;
+ args.v3.acConfig.ucEncoderSel = 1;
}
/* Select the PLL for the PHY
@@ -1535,11 +1529,6 @@ static int radeon_atom_pick_dig_encoder(struct drm_encoder *encoder)
struct radeon_encoder_atom_dig *dig;
uint32_t dig_enc_in_use = 0;
- /* on DCE41 and encoder can driver any phy so just crtc id */
- if (ASIC_IS_DCE41(rdev)) {
- return radeon_crtc->crtc_id;
- }
-
if (ASIC_IS_DCE4(rdev)) {
dig = radeon_encoder->enc_priv;
switch (radeon_encoder->encoder_id) {
--
1.7.2.3
More information about the dri-devel
mailing list