1. 08 8月, 2016 2 次提交
  2. 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
  3. 12 7月, 2016 1 次提交
  4. 22 6月, 2016 7 次提交
  5. 17 6月, 2016 1 次提交
  6. 16 6月, 2016 2 次提交
  7. 14 6月, 2016 3 次提交
  8. 10 6月, 2016 1 次提交
  9. 09 6月, 2016 2 次提交
  10. 03 6月, 2016 1 次提交
  11. 02 6月, 2016 1 次提交
  12. 25 5月, 2016 1 次提交
  13. 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
  14. 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
  15. 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
  16. 27 4月, 2016 1 次提交
  17. 14 4月, 2016 1 次提交
  18. 08 2月, 2016 2 次提交
  19. 26 1月, 2016 1 次提交
  20. 25 1月, 2016 2 次提交
  21. 22 12月, 2015 1 次提交
  22. 15 12月, 2015 1 次提交
  23. 08 12月, 2015 1 次提交
  24. 04 12月, 2015 2 次提交
    • D
      drm/nouveau: Fix pre-nv50 pageflip events (v4) · bbc8764f
      Daniel Vetter 提交于
      Apparently pre-nv50 pageflip events happen before the actual vblank
      period. Therefore that functionality got semi-disabled in
      
      commit af4870e4
      Author: Mario Kleiner <mario.kleiner.de@gmail.com>
      Date:   Tue May 13 00:42:08 2014 +0200
      
          drm/nouveau/kms/nv04-nv40: fix pageflip events via special case.
      
      Unfortunately that hack got uprooted in
      
      commit cc1ef118
      Author: Thierry Reding <treding@nvidia.com>
      Date:   Wed Aug 12 17:00:31 2015 +0200
      
          drm/irq: Make pipe unsigned and name consistent
      
      Triggering a warning when trying to sample the vblank timestamp for a
      non-existing pipe. There's a few ways to fix this:
      
      - Open-code the old behaviour, which just enshrines this slight
        breakage of the userspace ABI.
      
      - Revert Mario's commit and again inflict broken timestamps, again not
        pretty.
      
      - Fix this for real by delaying the pageflip TS until the next vblank
        interrupt, thereby making it accurate.
      
      This patch implements the third option. Since having a page flip
      interrupt that happens when the pageflip gets armed and not when it
      completes in the next vblank seems to be fairly common (older i915 hw
      works very similarly) create a new helper to arm vblank events for
      such drivers.
      
      v2 (Mario Kleiner):
      - Fix function prototypes in drmP.h
      - Add missing vblank_put() for pageflip completion without
        pageflip event.
      - Initialize sequence number for queued pageflip event to avoid
        trouble in drm_handle_vblank_events().
      - Remove dead code and spelling fix.
      
      v3 (Mario Kleiner):
      - Add a signed-off-by and cc stable tag per Ilja's advice.
      
      v4 (Thierry Reding):
      - Fix kerneldoc typo, discovered by Michel Dänzer
      - Rearrange tags and changelog
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=106431
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
      Acked-by: NBen Skeggs <bskeggs@redhat.com>
      Cc: Ilia Mirkin <imirkin@alum.mit.edu>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      Cc: stable@vger.kernel.org # v4.3
      Signed-off-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      bbc8764f
    • T
      drm: Fix an unwanted master inheritance v2 · a0af2e53
      Thomas Hellstrom 提交于
      A client calling drmSetMaster() using a file descriptor that was opened
      when another client was master would inherit the latter client's master
      object and all its authenticated clients.
      
      This is unwanted behaviour, and when this happens, instead allocate a
      brand new master object for the client calling drmSetMaster().
      
      Fixes a BUG() throw in vmw_master_set().
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      a0af2e53
  25. 26 11月, 2015 1 次提交
  26. 25 11月, 2015 1 次提交