Hi Christian,
OK, I got it, thanks for your detailed suggestion.

Thanks & Best Wishes,
Trigger Huang


-----Original Message-----
From: Christian König [mailto:deathsim...@vodafone.de] 
Sent: Wednesday, November 02, 2016 8:24 PM
To: Huang, Trigger <trigger.hu...@amd.com>; amd-gfx@lists.freedesktop.org
Cc: Yu, Xiangliang <xiangliang...@amd.com>; Liu, Monk <monk....@amd.com>
Subject: Re: [PATCH v2] drm/amdgpu:no gpu scheduler for KIQ

Am 02.11.2016 um 12:48 schrieb Trigger Huang:
> KIQ is used for interaction between driver and CP, and not exposed to 
> outside client, as such it doesn't need to be handled by GPU 
> scheduler.
>
> Signed-off-by: Monk Liu <monk....@amd.com>
> Signed-off-by: Xiangliang Yu <xiangliang...@amd.com>
> Signed-off-by: Trigger Huang <trigger.hu...@amd.com>

Even if you only fix a small mistake it is usually good practice to increase 
the version number of the patch, e.g. you would use v3 in this case and write a 
one liner what was wrong in the commit message.

But that's only a nit pick, so patch is Reviewed-by: Christian König 
<christian.koe...@amd.com> anyway.

Regards,
Christian.

>
> Changes in v2:
>   - According to Alex's suggestion, wrapping the scheduler setup
>     conditionally instead of returning early.
>   - Use another simple method to check if is a KIQ ring.
>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 39 
> +++++++++++++++++--------------
>   1 file changed, 21 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> index 77b34ec..5772ef2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> @@ -382,24 +382,27 @@ int amdgpu_fence_driver_init_ring(struct amdgpu_ring 
> *ring,
>       if (!ring->fence_drv.fences)
>               return -ENOMEM;
>   
> -     timeout = msecs_to_jiffies(amdgpu_lockup_timeout);
> -     if (timeout == 0) {
> -             /*
> -              * FIXME:
> -              * Delayed workqueue cannot use it directly,
> -              * so the scheduler will not use delayed workqueue if
> -              * MAX_SCHEDULE_TIMEOUT is set.
> -              * Currently keep it simple and silly.
> -              */
> -             timeout = MAX_SCHEDULE_TIMEOUT;
> -     }
> -     r = amd_sched_init(&ring->sched, &amdgpu_sched_ops,
> -                        num_hw_submission,
> -                        timeout, ring->name);
> -     if (r) {
> -             DRM_ERROR("Failed to create scheduler on ring %s.\n",
> -                       ring->name);
> -             return r;
> +     /* No need to setup the GPU scheduler for KIQ ring */
> +     if (ring->funcs->type != AMDGPU_RING_TYPE_KIQ) {
> +             timeout = msecs_to_jiffies(amdgpu_lockup_timeout);
> +             if (timeout == 0) {
> +                     /*
> +                      * FIXME:
> +                      * Delayed workqueue cannot use it directly,
> +                      * so the scheduler will not use delayed workqueue if
> +                      * MAX_SCHEDULE_TIMEOUT is set.
> +                      * Currently keep it simple and silly.
> +                      */
> +                     timeout = MAX_SCHEDULE_TIMEOUT;
> +             }
> +             r = amd_sched_init(&ring->sched, &amdgpu_sched_ops,
> +                                num_hw_submission,
> +                                timeout, ring->name);
> +             if (r) {
> +                     DRM_ERROR("Failed to create scheduler on ring %s.\n",
> +                               ring->name);
> +                     return r;
> +             }
>       }
>   
>       return 0;


_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to