[PATCH] amdgpu: Query uvd handles info
Sahu, Satyajit
Satyajit.Sahu at amd.com
Tue Apr 30 11:12:12 UTC 2019
On 4/30/2019 4:29 PM, Christian König wrote:
> [CAUTION: External Email]
>
> Am 30.04.19 um 12:51 schrieb Sahu, Satyajit:
>> Query the max uvd handles and used uvd handles.
>
> NAK, please use the generic amdgpu_query_info() function for this.
>
> Regards,
> Christian.
Currently amdgpu_query_info does not provide an option to specify the
hw_ip_type. For AMDGPU_INFO_NUM_HANDLES the hw_ip_type needs to be
AMDGPU_HW_IP_UVD, otherwise the kernel returns error.
Regards,
Satyajit
>
>>
>> Signed-off-by: Satyajit Sahu <satyajit.sahu at amd.com>
>> ---
>> amdgpu/amdgpu.h | 14 ++++++++++++++
>> amdgpu/amdgpu_gpu_info.c | 15 +++++++++++++++
>> 2 files changed, 29 insertions(+)
>>
>> diff --git a/amdgpu/amdgpu.h b/amdgpu/amdgpu.h
>> index c44a495a..407b5fae 100644
>> --- a/amdgpu/amdgpu.h
>> +++ b/amdgpu/amdgpu.h
>> @@ -1174,6 +1174,20 @@ int amdgpu_query_gpu_info(amdgpu_device_handle
>> dev,
>> int amdgpu_query_info(amdgpu_device_handle dev, unsigned info_id,
>> unsigned size, void *value);
>>
>> +/**
>> + * Query uvd handles info.
>> + *
>> + *
>> + * \param dev - \c [in] Device handle. See
>> #amdgpu_device_initialize()
>> + * \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_uvd_handles(amdgpu_device_handle dev,
>> + unsigned size, void *value);
>> /**
>> * Query hardware or driver information.
>> *
>> diff --git a/amdgpu/amdgpu_gpu_info.c b/amdgpu/amdgpu_gpu_info.c
>> index 777087f2..253c4da7 100644
>> --- a/amdgpu/amdgpu_gpu_info.c
>> +++ b/amdgpu/amdgpu_gpu_info.c
>> @@ -44,6 +44,21 @@ drm_public int
>> amdgpu_query_info(amdgpu_device_handle dev, unsigned info_id,
>> sizeof(struct drm_amdgpu_info));
>> }
>>
>> +drm_public int amdgpu_query_uvd_handles(amdgpu_device_handle dev,
>> + 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_NUM_HANDLES;
>> + request.query_hw_ip.type = AMDGPU_HW_IP_UVD;
>> +
>> + return drmCommandWrite(dev->fd, DRM_AMDGPU_INFO, &request,
>> + sizeof(struct drm_amdgpu_info));
>> +}
>> +
>> drm_public int amdgpu_query_crtc_from_id(amdgpu_device_handle dev,
>> unsigned id,
>> int32_t *result)
>> {
>
More information about the dri-devel
mailing list