diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_atombios.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c index 5082d17d14dc..9e72daeeddc6 100644 --- a/drivers/gpu/drm/radeon/radeon_atombios.c +++ b/drivers/gpu/drm/radeon/radeon_atombios.c | |||
| @@ -2931,6 +2931,20 @@ radeon_atombios_connected_scratch_regs(struct drm_connector *connector, | |||
| 2931 | bios_6_scratch &= ~ATOM_S6_ACC_REQ_DFP5; | 2931 | bios_6_scratch &= ~ATOM_S6_ACC_REQ_DFP5; |
| 2932 | } | 2932 | } |
| 2933 | } | 2933 | } |
| 2934 | if ((radeon_encoder->devices & ATOM_DEVICE_DFP6_SUPPORT) && | ||
| 2935 | (radeon_connector->devices & ATOM_DEVICE_DFP6_SUPPORT)) { | ||
| 2936 | if (connected) { | ||
| 2937 | DRM_DEBUG_KMS("DFP6 connected\n"); | ||
| 2938 | bios_0_scratch |= ATOM_S0_DFP6; | ||
| 2939 | bios_3_scratch |= ATOM_S3_DFP6_ACTIVE; | ||
| 2940 | bios_6_scratch |= ATOM_S6_ACC_REQ_DFP6; | ||
| 2941 | } else { | ||
| 2942 | DRM_DEBUG_KMS("DFP6 disconnected\n"); | ||
| 2943 | bios_0_scratch &= ~ATOM_S0_DFP6; | ||
| 2944 | bios_3_scratch &= ~ATOM_S3_DFP6_ACTIVE; | ||
| 2945 | bios_6_scratch &= ~ATOM_S6_ACC_REQ_DFP6; | ||
| 2946 | } | ||
| 2947 | } | ||
| 2934 | 2948 | ||
| 2935 | if (rdev->family >= CHIP_R600) { | 2949 | if (rdev->family >= CHIP_R600) { |
| 2936 | WREG32(R600_BIOS_0_SCRATCH, bios_0_scratch); | 2950 | WREG32(R600_BIOS_0_SCRATCH, bios_0_scratch); |
| @@ -2951,6 +2965,9 @@ radeon_atombios_encoder_crtc_scratch_regs(struct drm_encoder *encoder, int crtc) | |||
| 2951 | struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); | 2965 | struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); |
| 2952 | uint32_t bios_3_scratch; | 2966 | uint32_t bios_3_scratch; |
| 2953 | 2967 | ||
| 2968 | if (ASIC_IS_DCE4(rdev)) | ||
| 2969 | return; | ||
| 2970 | |||
| 2954 | if (rdev->family >= CHIP_R600) | 2971 | if (rdev->family >= CHIP_R600) |
| 2955 | bios_3_scratch = RREG32(R600_BIOS_3_SCRATCH); | 2972 | bios_3_scratch = RREG32(R600_BIOS_3_SCRATCH); |
| 2956 | else | 2973 | else |
