On Wed, Oct 11, 2023 at 9:49 PM Zhang, Jesse(Jie) <Jesse.Zhang@xxxxxxx> wrote: > > [AMD Official Use Only - General] > > -----Original Message----- > From: Alex Deucher <alexdeucher@xxxxxxxxx> > Sent: Wednesday, October 11, 2023 10:20 PM > To: Zhang, Jesse(Jie) <Jesse.Zhang@xxxxxxx> > Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Yang, Philip <Philip.Yang@xxxxxxx>; Kuehling, Felix <Felix.Kuehling@xxxxxxx>; Zhang, Yifan <Yifan1.Zhang@xxxxxxx> > Subject: Re: [PATCH] drm/amdgpu: disable GFXOFF and PG during compute for GFX9 > > 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_powergati > > + ng_state((void *)adev, state); > > Why not use amdgpu_gfx_off_ctrl(adev, idle); for consistency? > [Zhang, Jesse(Jie)] Hi Alex, > amdgpu_gfx_off_ctrl only disable gfxoff. It also need to disable gfx9's powergating to workaround. > So use the set_powergating_state to disable gfxoff and PG. Thanks for clarifying. Maybe add a comment to that effect. With that fixed: Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Alex > > Jesse > Alex > > > } > > amdgpu_dpm_switch_power_profile(adev, > > PP_SMC_POWER_PROFILE_COMPUTE, > > -- > > 2.25.1 > >