aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
diff options
context:
space:
mode:
authorHarish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>2020-10-22 09:57:54 -0400
committerAlex Deucher <alexander.deucher@amd.com>2020-10-23 15:33:48 -0400
commit73bf5cad2696fe3a21f70101821405db839ea18e (patch)
tree54f6963b84631fe1eef52551680ee3b4b02e220d /drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
parentdrm/amdgpu: don't map BO in reserved region (diff)
downloadlinux-dev-73bf5cad2696fe3a21f70101821405db839ea18e.tar.xz
linux-dev-73bf5cad2696fe3a21f70101821405db839ea18e.zip
drm/amdgpu: During compute disable GFXOFF for Sienna_Cichlid
Workaround to fix the soft hang observed in certain compute applications. Acked-by: Evan Quan <evan.quan@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
index 0544460653b9..92b7e744fe22 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -648,6 +648,13 @@ void amdgpu_amdkfd_set_compute_idle(struct kgd_dev *kgd, bool idle)
{
struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
+ /* Temp workaround to fix the soft hang observed in certain compute
+ * applications if GFXOFF is enabled.
+ */
+ if (adev->asic_type == CHIP_SIENNA_CICHLID) {
+ pr_debug("GFXOFF is %s\n", idle ? "enabled" : "disabled");
+ amdgpu_gfx_off_ctrl(adev, idle);
+ }
amdgpu_dpm_switch_power_profile(adev,
PP_SMC_POWER_PROFILE_COMPUTE,
!idle);