1. 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
  2. 05 10月, 2016 2 次提交
  3. 04 10月, 2016 2 次提交
  4. 19 9月, 2016 1 次提交
  5. 05 9月, 2016 1 次提交
  6. 19 8月, 2016 1 次提交
  7. 10 8月, 2016 1 次提交
  8. 08 8月, 2016 2 次提交
  9. 19 7月, 2016 1 次提交
    • D
      drm: Extract&Document drm_irq.h · 34a67dd7
      Daniel Vetter 提交于
      The drm_irq docs want one function from drmP.h, but that one is a
      serious mess. Extract it, and while at it improve the docs a bit.
      There's a bit a header loop issue since core data structures like
      drm_device and drm_driver aren't in their own headers yet, which means
      the drm_irq.h include in drmP.h needs to be in just the right spot :(
      
      Also noticed that drm_vblank_crtc->last_wait is entirely unused,
      remove it.
      
      v2: git add drm_irq.h ...
      Acked-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      34a67dd7
  10. 12 7月, 2016 1 次提交
  11. 22 6月, 2016 7 次提交
  12. 17 6月, 2016 1 次提交
  13. 16 6月, 2016 2 次提交
  14. 14 6月, 2016 3 次提交
  15. 10 6月, 2016 1 次提交
  16. 09 6月, 2016 2 次提交
  17. 03 6月, 2016 1 次提交
  18. 02 6月, 2016 1 次提交
  19. 25 5月, 2016 1 次提交
  20. 21 5月, 2016 1 次提交
    • D
      drm: Nuke ->vblank_disable_allowed · fcee5906
      Daniel Vetter 提交于
      This was added in
      
      commit 0a3e67a4
      Author: Jesse Barnes <jbarnes@virtuousgeek.org>
      Date:   Tue Sep 30 12:14:26 2008 -0700
      
          drm: Rework vblank-wait handling to allow interrupt reduction.
      
      to stay backwards-compatible with old UMS code that didn't even tell
      the kernel when it did a modeset, so that the kernel could
      save/restore vblank counters. At worst this means vblanks will be
      somewhat funky on a setup that very likely no one still runs.
      
      So let's just nuke it.
      
      Plan B would be to set it unconditionally in drm_vblank_init for kms
      drivers, instead of in each driver separately. So if this patch breaks
      anything please only restore the hunks in drmP.h and drm_irq.c, plus
      add a check for DRIVER_MODESET in drm_vblank_init.
      
      Stumbled over this in a discussion on irc with Chris.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Eric Anholt <eric@anholt.net>
      Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Acked-by: NLiviu Dudau <Liviu.Dudau@arm.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Tested-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      fcee5906
  21. 19 5月, 2016 1 次提交
    • M
      drm/core: Add drm_accurate_vblank_count, v5. · af61d5ce
      Maarten Lankhorst 提交于
      This function is useful for gen2 intel devices which have no frame
      counter, but need a way to determine the current vblank count without
      racing with the vblank interrupt handler.
      
      intel_pipe_update_start checks if no vblank interrupt will occur
      during vblank evasion, but cannot check whether the vblank handler has
      run to completion. This function uses the timestamps to determine
      when the last vblank has happened, and interpolates from there.
      
      Changes since v1:
      - Take vblank_time_lock and don't use drm_vblank_count_and_time.
      Changes since v2:
      - Don't return time of last vblank.
      Changes since v3:
      - Change pipe to unsigned int. (Ville)
      - Remove unused documentation for tv_ret. (kbuild)
      Changes since v4:
      - Add warning to docs when the function is useful.
      - Add a WARN_ON when get_vblank_timestamp is unavailable.
      - Use drm_vblank_count.
      
      Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> #v4
      Acked-by: David Airlie <airlied@linux.ie> #irc, v4
      Link: http://patchwork.freedesktop.org/patch/msgid/1463490484-19540-2-git-send-email-maarten.lankhorst@linux.intel.comReviewed-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      af61d5ce
  22. 04 5月, 2016 1 次提交
    • D
      drm/gem: support BO freeing without dev->struct_mutex · 9f0ba539
      Daniel Vetter 提交于
      Finally all the core gem and a lot of drivers are entirely free of
      dev->struct_mutex depencies, and we can start to have an entirely
      lockless unref path.
      
      To make sure that no one who touches the core code accidentally breaks
      existing drivers which still require dev->struct_mutex I've made the
      might_lock check unconditional.
      
      While at it de-inline the ref/unref functions, they've become a bit
      too big.
      
      v2: Make it not leak like a sieve.
      
      v3: Review from Lucas:
      - drop != NULL in pointer checks.
      - fixup copypasted kerneldoc to actually match the functions.
      
      v4:
      Add __drm_gem_object_unreference as a fastpath helper for drivers who
      abolished dev->struct_mutex, requested by Chris.
      
      v5: Fix silly mistake in drm_gem_object_unreference_unlocked caught by
      intel-gfx CI - I checked for gem_free_object instead of
      gem_free_object_unlocked ...
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Reviewed-by: Lucas Stach <l.stach@pengutronix.de> (v3)
      Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v4)
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1462178451-1765-1-git-send-email-daniel.vetter@ffwll.ch
      9f0ba539
  23. 27 4月, 2016 1 次提交
  24. 14 4月, 2016 1 次提交
  25. 08 2月, 2016 2 次提交
  26. 26 1月, 2016 1 次提交