On 1/8/26 15:48, Alex Deucher wrote:
> We only want to stop the work queues, not mess with the
> pending list so just stop the work queues.

Oh, yes please! I can't remember how long we have worked towards that.

But we also need to change the return code so that the scheduler now re-inserts 
the job into the pending list.

Adding Philip on CC to double check what I say above.

Regards,
Christian.

> 
> Signed-off-by: Alex Deucher <[email protected]>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 80572f71ff627..868ab5314c0d1 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -6301,7 +6301,7 @@ static void amdgpu_device_halt_activities(struct 
> amdgpu_device *adev,
>                       if (!amdgpu_ring_sched_ready(ring))
>                               continue;
>  
> -                     drm_sched_stop(&ring->sched, job ? &job->base : NULL);
> +                     drm_sched_wqueue_stop(&ring->sched);
>  
>                       if (need_emergency_restart)
>                               amdgpu_job_stop_all_jobs_on_sched(&ring->sched);
> @@ -6385,7 +6385,7 @@ static int amdgpu_device_sched_resume(struct list_head 
> *device_list,
>                       if (!amdgpu_ring_sched_ready(ring))
>                               continue;
>  
> -                     drm_sched_start(&ring->sched, 0);
> +                     drm_sched_wqueue_start(&ring->sched);
>               }
>  
>               if (!drm_drv_uses_atomic_modeset(adev_to_drm(tmp_adev)) && 
> !job_signaled)

Reply via email to