diff options
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_atombios.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c index 4dc9c518c2fe..b64e6034b45f 100644 --- a/drivers/gpu/drm/radeon/radeon_atombios.c +++ b/drivers/gpu/drm/radeon/radeon_atombios.c | |||
@@ -2609,7 +2609,7 @@ void radeon_atom_initialize_bios_scratch_regs(struct drm_device *dev) | |||
2609 | bios_2_scratch &= ~ATOM_S2_VRI_BRIGHT_ENABLE; | 2609 | bios_2_scratch &= ~ATOM_S2_VRI_BRIGHT_ENABLE; |
2610 | 2610 | ||
2611 | /* tell the bios not to handle mode switching */ | 2611 | /* tell the bios not to handle mode switching */ |
2612 | bios_6_scratch |= (ATOM_S6_ACC_BLOCK_DISPLAY_SWITCH | ATOM_S6_ACC_MODE); | 2612 | bios_6_scratch |= ATOM_S6_ACC_BLOCK_DISPLAY_SWITCH; |
2613 | 2613 | ||
2614 | if (rdev->family >= CHIP_R600) { | 2614 | if (rdev->family >= CHIP_R600) { |
2615 | WREG32(R600_BIOS_2_SCRATCH, bios_2_scratch); | 2615 | WREG32(R600_BIOS_2_SCRATCH, bios_2_scratch); |
@@ -2660,10 +2660,13 @@ void radeon_atom_output_lock(struct drm_encoder *encoder, bool lock) | |||
2660 | else | 2660 | else |
2661 | bios_6_scratch = RREG32(RADEON_BIOS_6_SCRATCH); | 2661 | bios_6_scratch = RREG32(RADEON_BIOS_6_SCRATCH); |
2662 | 2662 | ||
2663 | if (lock) | 2663 | if (lock) { |
2664 | bios_6_scratch |= ATOM_S6_CRITICAL_STATE; | 2664 | bios_6_scratch |= ATOM_S6_CRITICAL_STATE; |
2665 | else | 2665 | bios_6_scratch &= ~ATOM_S6_ACC_MODE; |
2666 | } else { | ||
2666 | bios_6_scratch &= ~ATOM_S6_CRITICAL_STATE; | 2667 | bios_6_scratch &= ~ATOM_S6_CRITICAL_STATE; |
2668 | bios_6_scratch |= ATOM_S6_ACC_MODE; | ||
2669 | } | ||
2667 | 2670 | ||
2668 | if (rdev->family >= CHIP_R600) | 2671 | if (rdev->family >= CHIP_R600) |
2669 | WREG32(R600_BIOS_6_SCRATCH, bios_6_scratch); | 2672 | WREG32(R600_BIOS_6_SCRATCH, bios_6_scratch); |