[PATCH 06/11] drm/amdgpu/gfx10: manually control gfxoff for CS

Lazar, Lijo lijo.lazar at amd.com
Tue Feb 4 07:30:15 UTC 2025



On 2/4/2025 3:13 AM, Alex Deucher wrote:
> Manually disallow and then allow gfxoff in begin_use
> and end_use to avoid any potential FW races when
> ringing the doorbell.  There are no known issues
> with gfxoff that this solves, but it shouldn't hurt anything
> and shouldn't affect power usage since we are only
> toggling it around the doorbell update.

I think, this path shouldn't be pursued unless there is a bug identified
in specific SOCs. This really needs to be taken care by
hardware/firmware and driver shouldn't be involved. This may only be
employed as a workaround only if a real solution is not available.

Thanks,
Lijo

> 
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> index 7b01828eea8dc..96346a19950b9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> @@ -9826,14 +9826,14 @@ static void gfx_v10_0_ring_emit_cleaner_shader(struct amdgpu_ring *ring)
>  static void gfx_v10_0_ring_begin_use(struct amdgpu_ring *ring)
>  {
>  	amdgpu_gfx_profile_ring_begin_use(ring);
> -
>  	amdgpu_gfx_enforce_isolation_ring_begin_use(ring);
> +	amdgpu_gfx_off_ctrl_immediate(ring->adev, false);
>  }
>  
>  static void gfx_v10_0_ring_end_use(struct amdgpu_ring *ring)
>  {
> +	amdgpu_gfx_off_ctrl_immediate(ring->adev, true);
>  	amdgpu_gfx_profile_ring_end_use(ring);
> -
>  	amdgpu_gfx_enforce_isolation_ring_end_use(ring);
>  }
>  



More information about the amd-gfx mailing list