1. 02 11月, 2016 1 次提交
  2. 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
  3. 21 10月, 2016 1 次提交
  4. 19 9月, 2016 1 次提交
  5. 08 8月, 2016 1 次提交
  6. 22 6月, 2016 1 次提交
  7. 21 6月, 2016 1 次提交
  8. 16 6月, 2016 5 次提交
  9. 10 6月, 2016 1 次提交
  10. 04 6月, 2016 1 次提交
  11. 03 6月, 2016 1 次提交
  12. 27 4月, 2016 3 次提交
  13. 08 2月, 2016 3 次提交
  14. 26 1月, 2016 1 次提交
  15. 25 1月, 2016 2 次提交
  16. 04 12月, 2015 1 次提交
  17. 26 11月, 2015 2 次提交
  18. 22 5月, 2015 1 次提交
  19. 05 5月, 2015 1 次提交
    • D
      drm: simplify authentication management · 32e7b94a
      David Herrmann 提交于
      The magic auth tokens we have are a simple map from cyclic IDs to drm_file
      objects. Remove all the old bulk of code and replace it with a simple,
      direct IDR.
      
      The previous behavior is kept. Especially calling authmagic multiple times
      on the same magic results in EINVAL except on the first call. The only
      difference in behavior is that we never allocate IDs multiple times as
      long as a client has its FD open.
      
      v2:
       - Fix return code of GetMagic()
       - Use non-cyclic IDR allocator
       - fix off-by-one in "magic > INT_MAX" sanity check
      
      v3:
       - drop redundant "magic > INT_MAX" check
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      32e7b94a
  20. 21 1月, 2015 1 次提交
    • C
      drm: Make drm_read() more robust against multithreaded races · cdd1cf79
      Chris Wilson 提交于
      The current implementation of drm_read() faces a number of issues:
      
      1. Upon an error, it consumes the event which may lead to the client
      blocking.
      2. Upon an error, it forgets about events already copied
      3. If it fails to copy a single event with O_NONBLOCK it falls into a
      infinite loop of reporting EAGAIN.
      3. There is a race between multiple waiters and blocking reads of the
      events list.
      
      Here, we inline drm_dequeue_event() into drm_read() so that we can take
      the spinlock around the list walking and event copying, and importantly
      reorder the error handling to avoid the issues above.
      
      Cc: Takashi Iwai <tiwai@suse.de>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NTakashi Iwai <tiwai@suse.de>
      Testcase: igt/drm_read
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      cdd1cf79
  21. 04 12月, 2014 1 次提交
  22. 08 10月, 2014 1 次提交
  23. 03 10月, 2014 1 次提交
  24. 12 9月, 2014 3 次提交
  25. 10 9月, 2014 2 次提交
  26. 08 8月, 2014 1 次提交
    • D
      Revert "drm: drop redundant drm_file->is_master" · 7963e9db
      Dave Airlie 提交于
      This reverts commit 48ba8137.
      
      Thanks to Chris:
      "drm_file->is_master is not synomous with having drm_file->master ==
      drm_file->minor->master. This is because drm_file->master is the same
      for all drm_files of the same generation and so when there is a master,
      every drm_file believes itself to be the master. Confusion ensues and
      things go pear shaped when one file is closed and there is no master
      anymore."
      
      Conflicts:
      	drivers/gpu/drm/drm_drv.c
      	drivers/gpu/drm/drm_stub.c
      7963e9db
  27. 06 8月, 2014 1 次提交