[PATCH libdrm v2] amdgpu: allow to query GPU sensor related information

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

 



Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Tue, Apr 4, 2017 at 4:34 PM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> This exposes amdgpu_query_sensor_info().
>
> v2: - add amdgpu_query_sensor_info() to the symbols list
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  amdgpu/amdgpu-symbol-check |  1 +
>  amdgpu/amdgpu.h            | 18 ++++++++++++++++++
>  amdgpu/amdgpu_gpu_info.c   | 15 +++++++++++++++
>  3 files changed, 34 insertions(+)
>
> diff --git a/amdgpu/amdgpu-symbol-check b/amdgpu/amdgpu-symbol-check
> index 8e06474d..4d1ae65c 100755
> --- a/amdgpu/amdgpu-symbol-check
> +++ b/amdgpu/amdgpu-symbol-check
> @@ -46,6 +46,7 @@ amdgpu_query_heap_info
>  amdgpu_query_hw_ip_count
>  amdgpu_query_hw_ip_info
>  amdgpu_query_info
> +amdgpu_query_sensor_info
>  amdgpu_read_mm_registers
>  amdgpu_va_range_alloc
>  amdgpu_va_range_free
> diff --git a/amdgpu/amdgpu.h b/amdgpu/amdgpu.h
> index 6b2ded83..55884b24 100644
> --- a/amdgpu/amdgpu.h
> +++ b/amdgpu/amdgpu.h
> @@ -1059,6 +1059,24 @@ int amdgpu_query_gds_info(amdgpu_device_handle dev,
>                         struct amdgpu_gds_resource_info *gds_info);
>
>  /**
> + * Query information about sensor.
> + *
> + * The return size is query-specific and depends on the "sensor_type"
> + * parameter. No more than "size" bytes is returned.
> + *
> + * \param   dev         - \c [in] Device handle. See #amdgpu_device_initialize()
> + * \param   sensor_type - \c [in] AMDGPU_INFO_SENSOR_*
> + * \param   size        - \c [in] Size of the returned value.
> + * \param   value       - \c [out] Pointer to the return value.
> + *
> + * \return   0 on success\n
> + *          <0 - Negative POSIX Error code
> + *
> +*/
> +int amdgpu_query_sensor_info(amdgpu_device_handle dev, unsigned sensor_type,
> +                            unsigned size, void *value);
> +
> +/**
>   * Read a set of consecutive memory-mapped registers.
>   * Not all registers are allowed to be read by userspace.
>   *
> diff --git a/amdgpu/amdgpu_gpu_info.c b/amdgpu/amdgpu_gpu_info.c
> index c5f5f6f4..f4b94c9e 100644
> --- a/amdgpu/amdgpu_gpu_info.c
> +++ b/amdgpu/amdgpu_gpu_info.c
> @@ -318,3 +318,18 @@ int amdgpu_query_gds_info(amdgpu_device_handle dev,
>
>         return 0;
>  }
> +
> +int amdgpu_query_sensor_info(amdgpu_device_handle dev, unsigned sensor_type,
> +                            unsigned size, void *value)
> +{
> +       struct drm_amdgpu_info request;
> +
> +       memset(&request, 0, sizeof(request));
> +       request.return_pointer = (uintptr_t)value;
> +       request.return_size = size;
> +       request.query = AMDGPU_INFO_SENSOR;
> +       request.sensor_info.type = sensor_type;
> +
> +       return drmCommandWrite(dev->fd, DRM_AMDGPU_INFO, &request,
> +                              sizeof(struct drm_amdgpu_info));
> +}
> --
> 2.12.2
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


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

  Powered by Linux