|
@@ -1229,24 +1229,8 @@ void evergreen_agp_enable(struct radeon_device *rdev)
|
|
|
|
|
|
void evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *save)
|
|
|
{
|
|
|
- save->vga_control[0] = RREG32(D1VGA_CONTROL);
|
|
|
- save->vga_control[1] = RREG32(D2VGA_CONTROL);
|
|
|
save->vga_render_control = RREG32(VGA_RENDER_CONTROL);
|
|
|
save->vga_hdp_control = RREG32(VGA_HDP_CONTROL);
|
|
|
- save->crtc_control[0] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET);
|
|
|
- save->crtc_control[1] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET);
|
|
|
- if (rdev->num_crtc >= 4) {
|
|
|
- save->vga_control[2] = RREG32(EVERGREEN_D3VGA_CONTROL);
|
|
|
- save->vga_control[3] = RREG32(EVERGREEN_D4VGA_CONTROL);
|
|
|
- save->crtc_control[2] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET);
|
|
|
- save->crtc_control[3] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET);
|
|
|
- }
|
|
|
- if (rdev->num_crtc >= 6) {
|
|
|
- save->vga_control[4] = RREG32(EVERGREEN_D5VGA_CONTROL);
|
|
|
- save->vga_control[5] = RREG32(EVERGREEN_D6VGA_CONTROL);
|
|
|
- save->crtc_control[4] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET);
|
|
|
- save->crtc_control[5] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET);
|
|
|
- }
|
|
|
|
|
|
/* Stop all video */
|
|
|
WREG32(VGA_RENDER_CONTROL, 0);
|
|
@@ -1357,47 +1341,6 @@ void evergreen_mc_resume(struct radeon_device *rdev, struct evergreen_mc_save *s
|
|
|
/* Unlock host access */
|
|
|
WREG32(VGA_HDP_CONTROL, save->vga_hdp_control);
|
|
|
mdelay(1);
|
|
|
- /* Restore video state */
|
|
|
- WREG32(D1VGA_CONTROL, save->vga_control[0]);
|
|
|
- WREG32(D2VGA_CONTROL, save->vga_control[1]);
|
|
|
- if (rdev->num_crtc >= 4) {
|
|
|
- WREG32(EVERGREEN_D3VGA_CONTROL, save->vga_control[2]);
|
|
|
- WREG32(EVERGREEN_D4VGA_CONTROL, save->vga_control[3]);
|
|
|
- }
|
|
|
- if (rdev->num_crtc >= 6) {
|
|
|
- WREG32(EVERGREEN_D5VGA_CONTROL, save->vga_control[4]);
|
|
|
- WREG32(EVERGREEN_D6VGA_CONTROL, save->vga_control[5]);
|
|
|
- }
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC0_REGISTER_OFFSET, 1);
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC1_REGISTER_OFFSET, 1);
|
|
|
- if (rdev->num_crtc >= 4) {
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC2_REGISTER_OFFSET, 1);
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC3_REGISTER_OFFSET, 1);
|
|
|
- }
|
|
|
- if (rdev->num_crtc >= 6) {
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC4_REGISTER_OFFSET, 1);
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC5_REGISTER_OFFSET, 1);
|
|
|
- }
|
|
|
- WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET, save->crtc_control[0]);
|
|
|
- WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET, save->crtc_control[1]);
|
|
|
- if (rdev->num_crtc >= 4) {
|
|
|
- WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET, save->crtc_control[2]);
|
|
|
- WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET, save->crtc_control[3]);
|
|
|
- }
|
|
|
- if (rdev->num_crtc >= 6) {
|
|
|
- WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET, save->crtc_control[4]);
|
|
|
- WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET, save->crtc_control[5]);
|
|
|
- }
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC0_REGISTER_OFFSET, 0);
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC1_REGISTER_OFFSET, 0);
|
|
|
- if (rdev->num_crtc >= 4) {
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC2_REGISTER_OFFSET, 0);
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC3_REGISTER_OFFSET, 0);
|
|
|
- }
|
|
|
- if (rdev->num_crtc >= 6) {
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC4_REGISTER_OFFSET, 0);
|
|
|
- WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC5_REGISTER_OFFSET, 0);
|
|
|
- }
|
|
|
WREG32(VGA_RENDER_CONTROL, save->vga_render_control);
|
|
|
}
|
|
|
|