• Arindam Nath's avatar
    drm/amd/amdgpu: get maximum and used UVD handles (v4) · 44879b62
    Arindam Nath authored
    Change History
    --------------
    
    v4: Changes suggested by Emil, Christian
    - return -ENODATA for asics with unlimited sessions
    
    v3: changes suggested by Christian
    - Add a check for UVD IP block using AMDGPU_HW_IP_UVD
      query type.
    - Add a check for asic_type to be less than
      CHIP_POLARIS10 since starting Polaris, we support
      unlimited UVD instances.
    - Add kerneldoc style comment for
      amdgpu_uvd_used_handles().
    
    v2: as suggested by Christian
    - Add a new query AMDGPU_INFO_NUM_HANDLES
    - Create a helper function to return the number
      of currently used UVD handles.
    - Modify the logic to count the number of used
      UVD handles since handles can be freed in
      non-linear fashion.
    
    v1:
    - User might want to query the maximum number of UVD
      instances supported by firmware. In addition to that,
      if there are multiple applications using UVD handles
      at the same time, he might also want to query the
      currently used number of handles.
    
      For this we add two variables max_handles and
      used_handles inside drm_amdgpu_info_hw_ip. So now
      an application (or libdrm) can use AMDGPU_INFO IOCTL
      with AMDGPU_INFO_HW_IP_INFO query type to get these
      values.
    Signed-off-by: default avatarArindam Nath <arindam.nath@amd.com>
    Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    44879b62
amdgpu_kms.c 30.2 KB