On Wed, Oct 11, 2023 at 3:52 AM Jesse Zhang <jesse.zhang@xxxxxxx> wrote: > > Temporary workaround to fix issues observed in some compute applications > when GFXOFF is enabled on GFX9. > > Signed-off-by: Jesse Zhang <Jesse.Zhang@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c > index d3805dbbbb6f..fef93d4edcbc 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c > @@ -683,12 +683,16 @@ int amdgpu_amdkfd_submit_ib(struct amdgpu_device *adev, > > void amdgpu_amdkfd_set_compute_idle(struct amdgpu_device *adev, bool idle) > { > + enum amd_powergating_state state = idle ? AMD_PG_STATE_GATE : AMD_PG_STATE_UNGATE; > /* Temporary workaround to fix issues observed in some > * compute applications when GFXOFF is enabled on GFX11. > */ > if (IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 11) { > pr_debug("GFXOFF is %s\n", idle ? "enabled" : "disabled"); > amdgpu_gfx_off_ctrl(adev, idle); > + } else if ((IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 9) && > + (adev->flags & AMD_IS_APU)) { > + adev->ip_blocks[AMD_IP_BLOCK_TYPE_GFX].version->funcs->set_powergating_state((void *)adev, state); Why not use amdgpu_gfx_off_ctrl(adev, idle); for consistency? Alex > } > amdgpu_dpm_switch_power_profile(adev, > PP_SMC_POWER_PROFILE_COMPUTE, > -- > 2.25.1 >