[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