drm/radeon: don't touch DCE or VGA regs on Hainan (v3)
Hainan has no display hardware: - no DCE (crtc, uniphy, dac, etc.) - no VGA v2: fix bios fetch v3: fix interrupts Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
@@ -221,24 +221,28 @@ static bool ni_read_disabled_bios(struct radeon_device *rdev)
|
||||
|
||||
/* enable the rom */
|
||||
WREG32(R600_BUS_CNTL, (bus_cntl & ~R600_BIOS_ROM_DIS));
|
||||
/* Disable VGA mode */
|
||||
WREG32(AVIVO_D1VGA_CONTROL,
|
||||
(d1vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE |
|
||||
AVIVO_DVGA_CONTROL_TIMING_SELECT)));
|
||||
WREG32(AVIVO_D2VGA_CONTROL,
|
||||
(d2vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE |
|
||||
AVIVO_DVGA_CONTROL_TIMING_SELECT)));
|
||||
WREG32(AVIVO_VGA_RENDER_CONTROL,
|
||||
(vga_render_control & ~AVIVO_VGA_VSTATUS_CNTL_MASK));
|
||||
if (!ASIC_IS_NODCE(rdev)) {
|
||||
/* Disable VGA mode */
|
||||
WREG32(AVIVO_D1VGA_CONTROL,
|
||||
(d1vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE |
|
||||
AVIVO_DVGA_CONTROL_TIMING_SELECT)));
|
||||
WREG32(AVIVO_D2VGA_CONTROL,
|
||||
(d2vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE |
|
||||
AVIVO_DVGA_CONTROL_TIMING_SELECT)));
|
||||
WREG32(AVIVO_VGA_RENDER_CONTROL,
|
||||
(vga_render_control & ~AVIVO_VGA_VSTATUS_CNTL_MASK));
|
||||
}
|
||||
WREG32(R600_ROM_CNTL, rom_cntl | R600_SCK_OVERWRITE);
|
||||
|
||||
r = radeon_read_bios(rdev);
|
||||
|
||||
/* restore regs */
|
||||
WREG32(R600_BUS_CNTL, bus_cntl);
|
||||
WREG32(AVIVO_D1VGA_CONTROL, d1vga_control);
|
||||
WREG32(AVIVO_D2VGA_CONTROL, d2vga_control);
|
||||
WREG32(AVIVO_VGA_RENDER_CONTROL, vga_render_control);
|
||||
if (!ASIC_IS_NODCE(rdev)) {
|
||||
WREG32(AVIVO_D1VGA_CONTROL, d1vga_control);
|
||||
WREG32(AVIVO_D2VGA_CONTROL, d2vga_control);
|
||||
WREG32(AVIVO_VGA_RENDER_CONTROL, vga_render_control);
|
||||
}
|
||||
WREG32(R600_ROM_CNTL, rom_cntl);
|
||||
return r;
|
||||
}
|
||||
|
Reference in New Issue
Block a user