1. 10 10月, 2017 2 次提交
    • A
      drm/amdgpu: add parameter to allocate high priority contexts v11 · c2636dc5
      Andres Rodriguez 提交于
      Add a new context creation parameter to express a global context priority.
      
      The priority ranking in descending order is as follows:
       * AMDGPU_CTX_PRIORITY_HIGH_HW
       * AMDGPU_CTX_PRIORITY_HIGH_SW
       * AMDGPU_CTX_PRIORITY_NORMAL
       * AMDGPU_CTX_PRIORITY_LOW_SW
       * AMDGPU_CTX_PRIORITY_LOW_HW
      
      The driver will attempt to schedule work to the hardware according to
      the priorities. No latency or throughput guarantees are provided by
      this patch.
      
      This interface intends to service the EGL_IMG_context_priority
      extension, and vulkan equivalents.
      
      Setting a priority above NORMAL requires CAP_SYS_NICE or DRM_MASTER.
      
      v2: Instead of using flags, repurpose __pad
      v3: Swap enum values of _NORMAL _HIGH for backwards compatibility
      v4: Validate usermode priority and store it
      v5: Move priority validation into amdgpu_ctx_ioctl(), headline reword
      v6: add UAPI note regarding priorities requiring CAP_SYS_ADMIN
      v7: remove ctx->priority
      v8: added AMDGPU_CTX_PRIORITY_LOW, s/CAP_SYS_ADMIN/CAP_SYS_NICE
      v9: change the priority parameter to __s32
      v10: split priorities into _SW and _HW
      v11: Allow DRM_MASTER without CAP_SYS_NICE
      Reviewed-by: NEmil Velikov <emil.l.velikov@gmail.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAndres Rodriguez <andresx7@gmail.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      c2636dc5
    • A
      drm/amdgpu: introduce AMDGPU_GEM_CREATE_EXPLICIT_SYNC v2 · 177ae09b
      Andres Rodriguez 提交于
      Introduce a flag to signal that access to a BO will be synchronized
      through an external mechanism.
      
      Currently all buffers shared between contexts are subject to implicit
      synchronization. However, this is only required for protocols that
      currently don't support an explicit synchronization mechanism (DRI2/3).
      
      This patch introduces the AMDGPU_GEM_CREATE_EXPLICIT_SYNC, so that
      users can specify when it is safe to disable implicit sync.
      
      v2: only disable explicit sync in amdgpu_cs_ioctl
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAndres Rodriguez <andresx7@gmail.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      177ae09b
  2. 07 10月, 2017 1 次提交
  3. 01 9月, 2017 1 次提交
  4. 30 6月, 2017 1 次提交
  5. 17 6月, 2017 1 次提交
    • D
      amdgpu: use drm sync objects for shared semaphores (v6) · 660e8558
      Dave Airlie 提交于
      This creates a new command submission chunk for amdgpu
      to add in and out sync objects around the submission.
      
      Sync objects are managed via the drm syncobj ioctls.
      
      The command submission interface is enhanced with two new
      chunks, one for syncobj pre submission dependencies,
      and one for post submission sync obj signalling,
      and just takes a list of handles for each.
      
      This is based on work originally done by David Zhou at AMD,
      with input from Christian Konig on what things should look like.
      
      In theory VkFences could be backed with sync objects and
      just get passed into the cs as syncobj handles as well.
      
      NOTE: this interface addition needs a version bump to expose
      it to userspace.
      
      TODO: update to dep_sync when rebasing onto amdgpu master.
      (with this - r-b from Christian)
      
      v1.1: keep file reference on import.
      v2: move to using syncobjs
      v2.1: change some APIs to just use p pointer.
      v3: make more robust against CS failures, we now add the
      wait sems but only remove them once the CS job has been
      submitted.
      v4: rewrite names of API and base on new syncobj code.
      v5: move post deps earlier, rename some apis
      v6: lookup post deps earlier, and just replace fences
      in post deps stage (Christian)
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      660e8558
  6. 25 5月, 2017 5 次提交
  7. 29 4月, 2017 3 次提交
  8. 30 3月, 2017 13 次提交
  9. 28 1月, 2017 1 次提交
    • A
      drm/amd/amdgpu: get maximum and used UVD handles (v4) · 44879b62
      Arindam Nath 提交于
      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: NArindam Nath <arindam.nath@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      44879b62
  10. 09 12月, 2016 1 次提交
  11. 09 11月, 2016 1 次提交
  12. 26 10月, 2016 6 次提交
  13. 01 9月, 2016 1 次提交
  14. 23 8月, 2016 1 次提交
  15. 16 8月, 2016 1 次提交
  16. 08 8月, 2016 1 次提交