[PATCH libdrm] amdgpu: allow to query GPU sensor related information
Samuel Pitoiset
samuel.pitoiset at gmail.com
Tue Apr 4 14:31:36 UTC 2017
On 04/04/2017 03:11 PM, Andreas Boll wrote:
> Please make sure that make check still passes with this patch applied.
> I guess amdgpu/amdgpu-symbol-check needs to be updated with the new symbol.
Correct. Thanks for noticing this, I will update the patch.
>
> Thanks,
> Andreas
>
> 2017-04-04 10:37 GMT+02:00 Samuel Pitoiset <samuel.pitoiset at gmail.com>:
>> This exposes amdgpu_query_sensor_info().
>>
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> ---
>> amdgpu/amdgpu.h | 18 ++++++++++++++++++
>> amdgpu/amdgpu_gpu_info.c | 15 +++++++++++++++
>> 2 files changed, 33 insertions(+)
>>
>> 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
More information about the amd-gfx
mailing list