1. 08 12月, 2015 11 次提交
  2. 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
  3. 03 12月, 2015 2 次提交
  4. 01 12月, 2015 1 次提交
    • V
      drm/edid: Make the detailed timing CEA/HDMI mode fixup accept up to 5kHz clock difference · 4c6bcf44
      Ville Syrjälä 提交于
      Rather than using drm_match_cea_mode() to see if the EDID detailed
      timings are supposed to represent one of the CEA/HDMI modes, add a
      special version of that function that takes in an explicit clock
      tolerance value (in kHz). When looking at the detailed timings specify
      the tolerance as 5kHz due to the 10kHz clock resolution limit inherent
      in detailed timings.
      
      drm_match_cea_mode() uses the normal KHZ2PICOS() matching of clocks,
      which only allows smaller errors for lower clocks (eg. for 25200 it
      won't allow any error) and a bigger error for higher clocks (eg. for
      297000 it actually matches 296913-297000). So it doesn't really match
      what we want for the fixup. Using the explicit +-5kHz is much better
      for this use case.
      
      Not sure if we should change the normal mode matching to also use
      something else besides KHZ2PICOS() since it allows a different
      proportion of error depending on the clock. I believe VESA CVT
      allows a maximum deviation of .5%, so using that for normal mode
      matching might be a good idea?
      
      Cc: Adam Jackson <ajax@redhat.com>
      Tested-by: nathan.d.ciobanu@linux.intel.com
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92217
      Fixes: fa3a7340 ("drm/edid: Fix up clock for CEA/HDMI modes specified via detailed timings")
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NAdam Jackson <ajax@redhat.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      4c6bcf44
  5. 30 11月, 2015 1 次提交
  6. 26 11月, 2015 1 次提交
  7. 25 11月, 2015 2 次提交
  8. 24 11月, 2015 6 次提交
  9. 17 11月, 2015 1 次提交
  10. 07 11月, 2015 1 次提交
  11. 29 10月, 2015 2 次提交
  12. 20 10月, 2015 1 次提交
  13. 19 10月, 2015 4 次提交
  14. 16 10月, 2015 2 次提交
    • L
      gpu/doc: Convert to markdown harder · f71a6d60
      Lukas Wunner 提交于
      This snippet...
      
          * Lock VMA manager for extended lookups. Only *_locked() VMA function calls
          * are allowed while holding this lock. All other contexts are blocked from VMA
          * until the lock is released via drm_vma_offset_unlock_lookup().
      
      ...causes markdown-enabled kernel-doc to barf:
      
          debian/build/build-doc/Documentation/DocBook/gpu.aux.xml:3247: parser error : Opening and ending tag mismatch: emphasis line 3247 and function
             *<function><emphasis>locked</function> VMA function calls are allowed while
                                                   ^
          /root/airlied/debian/build/build-doc/Documentation/DocBook/gpu.aux.xml:3249: parser error : Opening and ending tag mismatch: function line 3249 and emphasis
             released via <function>drm</emphasis>vma_offset_unlock_lookup</function>.
                                                  ^
          unable to parse /root/airlied/debian/build/build-doc/Documentation/DocBook/gpu.aux.xml
      
      A quick workaround is to replace *_locked() by X_locked().
      
      Cc: Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>
      Signed-off-by: NLukas Wunner <lukas@wunner.de>
      [danvet: Just drop the X_ too, the usual style is _unlocked, except
      that _ seems to be what annoys markdown.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      f71a6d60
    • V
      drm: Add DRM_DEBUG_VBL() · 235fabe0
      Ville Syrjälä 提交于
      Add a new debug class for _verbose_ debug message from the vblank code.
      That is message we spew out potentially for every vblank interrupt.
      Thierry already got annoyed at the spew, and now I managed to lock up
      my box with these debug prints (seems serial console + a few debug
      prints every vblank aren't a good combination).
      
      Or should I maybe call it DRM_DEBUG_IRQ?
      
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      235fabe0
  15. 15 10月, 2015 1 次提交
  16. 07 10月, 2015 2 次提交