[PATCH] drm/amdkfd: fix clock counter retrieval for node without GPU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 11, 2018 at 12:32 AM, Felix Kuehling <Felix.Kuehling at amd.com> wrote:
> From: Andres Rodriguez <andres.rodriguez at amd.com>
>
> Currently if a user requests clock counters for a node without a GPU
> resource we will always return EINVAL.
>
> Instead if no GPU resource is attached, fill the gpu_clock_counter
> argument with zeroes so that we may proceed and return valid CPU
> counters.
>
> Signed-off-by: Andres Rodriguez <andres.rodriguez at amd.com>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> index cd679cf..b5e5f0e 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> @@ -749,12 +749,13 @@ static int kfd_ioctl_get_clock_counters(struct file *filep,
>         struct timespec64 time;
>
>         dev = kfd_device_by_id(args->gpu_id);
> -       if (dev == NULL)
> -               return -EINVAL;
> -
> -       /* Reading GPU clock counter from KGD */
> -       args->gpu_clock_counter =
> -               dev->kfd2kgd->get_gpu_clock_counter(dev->kgd);
> +       if (dev)
> +               /* Reading GPU clock counter from KGD */
> +               args->gpu_clock_counter =
> +                       dev->kfd2kgd->get_gpu_clock_counter(dev->kgd);
> +       else
> +               /* Node without GPU resource */
> +               args->gpu_clock_counter = 0;
>
>         /* No access to rdtsc. Using raw monotonic time */
>         getrawmonotonic64(&time);
> --
> 2.7.4
>
This patch is:
Reviewed-by: Oded Gabbay <oded.gabbay at gmail.com>

applied to -fixes


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux