1. 17 Nov, 2016 34 commits
  2. 16 Nov, 2016 6 commits
    • Dave Airlie's avatar
      Merge tag 'drm-vc4-next-2016-11-16' of https://github.com/anholt/linux into drm-next · b7c0e47d
      Dave Airlie authored
      This pull request brings in fragment shader threading and ETC1 support
      for vc4.
      b7c0e47d
    • Dave Airlie's avatar
      Merge branch 'drm-tda998x-mali' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-next · 25bfe018
      Dave Airlie authored
      Fix conncector registration with tda998x.
      
      * 'drm-tda998x-mali' of git://git.armlinux.org.uk/~rmk/linux-arm:
        drm/i2c: tda998x: mali-dp: hdlcd: refactor connector registration
      25bfe018
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2016-11-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next · 318313d1
      Dave Airlie authored
      Another pile of misc:
      - Explicit fencing for atomic! Big thanks to Gustavo, Sean, Rob 3x, Brian
        and anyone else I've forgotten to make this happen.
      - roll out fbdev helper ops to drivers (Stefan Christ)
      - last bits of drm_crtc split-up&kerneldoc
      - some drm_irq.c crtc functions cleanup
      - prepare_fb helper for cma, works correctly with explicit fencing (Marek
        Vasut)
      - misc small patches all over
      
      * tag 'drm-misc-next-2016-11-16' of git://anongit.freedesktop.org/git/drm-misc: (51 commits)
        drm/fence: add out-fences support
        drm/fence: add fence timeline to drm_crtc
        drm/fence: add in-fences support
        drm/bridge: analogix_dp: return error if transfer none byte
        drm: drm_irq.h header cleanup
        drm/irq: Unexport drm_vblank_on/off
        drm/irq: Unexport drm_vblank_count
        drm/irq: Make drm_vblank_pre/post_modeset internal
        drm/nouveau: Use drm_crtc_vblank_off/on
        drm/amdgpu: Use drm_crtc_vblank_on/off for dce6
        drm/color: document NULL values and default settings better
        drm: Drop externs from drm_crtc.h
        drm: Move tile group code into drm_connector.c
        drm: Extract drm_mode_config.[hc]
        Revert "drm: Add aspect ratio parsing in DRM layer"
        Revert "drm: Add and handle new aspect ratios in DRM layer"
        drm/print: Move kerneldoc next to definition
        drm: Consolidate dumb buffer docs
        drm: Clean up kerneldoc for struct drm_driver
        drm: Extract drm_drv.h
        ...
      318313d1
    • Jonas Pfeil's avatar
      drm/vc4: Add fragment shader threading support · c778cc5d
      Jonas Pfeil authored
      FS threading brings performance improvements of 0-20% in glmark2.
      
      The validation code checks for thread switch signals and ensures that
      the registers of the other thread are not touched, and that our clamps
      are not live across thread switches.  It also checks that the
      threading and branching instructions do not interfere.
      
      (Original patch by Jonas, changes by anholt for style cleanup,
      removing validation the kernel doesn't need to do, and adding the flag
      for userspace).
      
      v2: Minor style fixes from checkpatch.
      Signed-off-by: default avatarJonas Pfeil <pfeiljonas@gmx.de>
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      c778cc5d
    • Chris Wilson's avatar
      drm/i915/execlists: Use a local lock for dfs_link access · 27745e82
      Chris Wilson authored
      Avoid requiring struct_mutex for exclusive access to the temporary
      dfs_link inside the i915_dependency as not all callers may want to touch
      struct_mutex. So rather than force them to take a highly contended
      lock, introduce a local lock for the execlists schedule operation.
      Reported-by: default avatarDavid Weinehall <david.weinehall@linux.intel.com>
      Fixes: 9a151987 ("drm/i915: Add execution priority boosting for mmioflips")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: David Weinehall <david.weinehall@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20161116152721.11053-1-chris@chris-wilson.co.ukReviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      27745e82
    • Gustavo Padovan's avatar
      drm/fence: add out-fences support · beaf5af4
      Gustavo Padovan authored
      Support DRM out-fences by creating a sync_file with a fence for each CRTC
      that sets the OUT_FENCE_PTR property.
      
      We use the out_fence pointer received in the OUT_FENCE_PTR prop to send
      the sync_file fd back to userspace.
      
      The sync_file and fd are allocated/created before commit, but the
      fd_install operation only happens after we know that commit succeed.
      
      v2: Comment by Rob Clark:
      	- Squash commit that adds DRM_MODE_ATOMIC_OUT_FENCE flag here.
      
          Comment by Daniel Vetter:
      	- Add clean up code for out_fences
      
      v3: Comments by Daniel Vetter:
      	- create DRM_MODE_ATOMIC_EVENT_MASK
      	- userspace should fill out_fences_ptr with the crtc_ids for which
      	it wants fences back.
      
      v4: Create OUT_FENCE_PTR properties and remove old approach.
      
      v5: Comments by Brian Starkey:
      	- Remove extra fence_get() in atomic_ioctl()
      	- Check ret before iterating on the crtc_state
      	- check ret before fd_install
      	- set fence_state to NULL at the beginning
      	- check fence_state->out_fence_ptr before put_user()
      	- change order of fput() and put_unused_fd() on failure
      
           - Add access_ok() check to the out_fence_ptr received
           - Rebase after fence -> dma_fence rename
           - Store out_fence_ptr in the drm_atomic_state
           - Split crtc_setup_out_fence()
           - return -1 as out_fence with TEST_ONLY flag
      
      v6: Comments by Daniel Vetter
      	- Add prepare/unprepare_crtc_signaling()
      	- move struct drm_out_fence_state to drm_atomic.c
      	- mark get_crtc_fence() as static
      
          Comments by Brian Starkey
      	- proper set fence_ptr fence_state array
      	- isolate fence_idx increment
      
          - improve error handling
      
      v7: Comments by Daniel Vetter
      	- remove prefix from internal functions
      	- make out_fence_ptr an s64 pointer
      	- degrade DRM_INFO to DRM_DEBUG_ATOMIC when put_user fail
      	- fix doc issues
      	- filter out OUT_FENCE_PTR == NULL and do not fail in this case
      	- add complete_crtc_signalling()
      	- krealloc fence_state on demand
      
          Comment by Brian Starkey
      	- remove unused crtc_state arg from get_out_fence()
      
      v8: Comment by Brian Starkey
      	- cancel events before check for !fence_state
      	- convert a few lefovers u64 types for out_fence_ptr
      	- fix memleak by assign fence_state earlier after realloc
      	- proper accout num_fences in case of error
      
      v9: Comment by Brian Starkey
      	- memset last position of fence_state after krealloc
          Comments by Sean Paul
      	- pass install_fds in complete_crtc_signaling() instead of ret
      
           - put_user(-1, fence_ptr) when decoding props
      
      v10: Comment by Brian Starkey
      	- remove unneeded num_fences increment on error path
      	- kfree fence_state after installing fences fd
      
      v11: rebase against latest drm-misc
      
      v12: rebase again against latest drm-misc
      Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Reviewed-by: Brian Starkey <brian.starkey@arm.com> (v10)
      Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
      Tested-by: Robert Foss <robert.foss@collabora.com> (v10)
      [danvet: Appease checkpatch.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1479301221-13056-1-git-send-email-gustavo@padovan.org
      beaf5af4