1. 10 10月, 2017 1 次提交
    • 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
  2. 27 9月, 2017 1 次提交
  3. 01 6月, 2017 1 次提交
    • A
      drm/amdgpu: untie user ring ids from kernel ring ids v6 · effd924d
      Andres Rodriguez 提交于
      Add amdgpu_queue_mgr, a mechanism that allows disjointing usermode's
      ring ids from the kernel's ring ids.
      
      The queue manager maintains a per-file descriptor map of user ring ids
      to amdgpu_ring pointers. Once a map is created it is permanent (this is
      required to maintain FIFO execution guarantees for a context's ring).
      
      Different queue map policies can be configured for each HW IP.
      Currently all HW IPs use the identity mapper, i.e. kernel ring id is
      equal to the user ring id.
      
      The purpose of this mechanism is to distribute the load across multiple
      queues more effectively for HW IPs that support multiple rings.
      Userspace clients are unable to check whether a specific resource is in
      use by a different client. Therefore, it is up to the kernel driver to
      make the optimal choice.
      
      v2: remove amdgpu_queue_mapper_funcs
      v3: made amdgpu_queue_mgr per context instead of per-fd
      v4: add context_put on error paths
      v5: rebase and include new IPs UVD_ENC & VCN_*
      v6: drop unused amdgpu_ring_is_valid_index (Alex)
      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>
      effd924d
  4. 25 5月, 2017 1 次提交
  5. 29 4月, 2017 1 次提交
  6. 14 2月, 2017 1 次提交
  7. 28 10月, 2016 1 次提交
  8. 25 10月, 2016 1 次提交
    • C
      dma-buf: Rename struct fence to dma_fence · f54d1867
      Chris Wilson 提交于
      I plan to usurp the short name of struct fence for a core kernel struct,
      and so I need to rename the specialised fence/timeline for DMA
      operations to make room.
      
      A consensus was reached in
      https://lists.freedesktop.org/archives/dri-devel/2016-July/113083.html
      that making clear this fence applies to DMA operations was a good thing.
      Since then the patch has grown a bit as usage increases, so hopefully it
      remains a good thing!
      
      (v2...: rebase, rerun spatch)
      v3: Compile on msm, spotted a manual fixup that I broke.
      v4: Try again for msm, sorry Daniel
      
      coccinelle script:
      @@
      
      @@
      - struct fence
      + struct dma_fence
      @@
      
      @@
      - struct fence_ops
      + struct dma_fence_ops
      @@
      
      @@
      - struct fence_cb
      + struct dma_fence_cb
      @@
      
      @@
      - struct fence_array
      + struct dma_fence_array
      @@
      
      @@
      - enum fence_flag_bits
      + enum dma_fence_flag_bits
      @@
      
      @@
      (
      - fence_init
      + dma_fence_init
      |
      - fence_release
      + dma_fence_release
      |
      - fence_free
      + dma_fence_free
      |
      - fence_get
      + dma_fence_get
      |
      - fence_get_rcu
      + dma_fence_get_rcu
      |
      - fence_put
      + dma_fence_put
      |
      - fence_signal
      + dma_fence_signal
      |
      - fence_signal_locked
      + dma_fence_signal_locked
      |
      - fence_default_wait
      + dma_fence_default_wait
      |
      - fence_add_callback
      + dma_fence_add_callback
      |
      - fence_remove_callback
      + dma_fence_remove_callback
      |
      - fence_enable_sw_signaling
      + dma_fence_enable_sw_signaling
      |
      - fence_is_signaled_locked
      + dma_fence_is_signaled_locked
      |
      - fence_is_signaled
      + dma_fence_is_signaled
      |
      - fence_is_later
      + dma_fence_is_later
      |
      - fence_later
      + dma_fence_later
      |
      - fence_wait_timeout
      + dma_fence_wait_timeout
      |
      - fence_wait_any_timeout
      + dma_fence_wait_any_timeout
      |
      - fence_wait
      + dma_fence_wait
      |
      - fence_context_alloc
      + dma_fence_context_alloc
      |
      - fence_array_create
      + dma_fence_array_create
      |
      - to_fence_array
      + to_dma_fence_array
      |
      - fence_is_array
      + dma_fence_is_array
      |
      - trace_fence_emit
      + trace_dma_fence_emit
      |
      - FENCE_TRACE
      + DMA_FENCE_TRACE
      |
      - FENCE_WARN
      + DMA_FENCE_WARN
      |
      - FENCE_ERR
      + DMA_FENCE_ERR
      )
       (
       ...
       )
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Acked-by: NSumit Semwal <sumit.semwal@linaro.org>
      Acked-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/20161025120045.28839-1-chris@chris-wilson.co.uk
      f54d1867
  9. 13 10月, 2016 1 次提交
  10. 28 9月, 2016 1 次提交
  11. 13 2月, 2016 2 次提交
  12. 11 2月, 2016 1 次提交
  13. 19 12月, 2015 1 次提交
  14. 15 12月, 2015 2 次提交
  15. 03 12月, 2015 1 次提交
  16. 04 11月, 2015 1 次提交
  17. 24 9月, 2015 2 次提交
  18. 25 8月, 2015 2 次提交
  19. 21 8月, 2015 1 次提交
  20. 18 8月, 2015 17 次提交