aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
index d735cd1807b3..4bdda56fccee 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
@@ -88,6 +88,19 @@ void amdgpu_atomfirmware_scratch_regs_restore(struct amdgpu_device *adev)
88 WREG32(adev->bios_scratch_reg_offset + i, adev->bios_scratch[i]); 88 WREG32(adev->bios_scratch_reg_offset + i, adev->bios_scratch[i]);
89} 89}
90 90
91void amdgpu_atomfirmware_scratch_regs_engine_hung(struct amdgpu_device *adev,
92 bool hung)
93{
94 u32 tmp = RREG32(adev->bios_scratch_reg_offset + 3);
95
96 if (hung)
97 tmp |= ATOM_S3_ASIC_GUI_ENGINE_HUNG;
98 else
99 tmp &= ~ATOM_S3_ASIC_GUI_ENGINE_HUNG;
100
101 WREG32(adev->bios_scratch_reg_offset + 3, tmp);
102}
103
91int amdgpu_atomfirmware_allocate_fb_scratch(struct amdgpu_device *adev) 104int amdgpu_atomfirmware_allocate_fb_scratch(struct amdgpu_device *adev)
92{ 105{
93 struct atom_context *ctx = adev->mode_info.atom_context; 106 struct atom_context *ctx = adev->mode_info.atom_context;