1. 27 Jun, 2018 18 commits
  2. 26 Jun, 2018 3 commits
  3. 25 Jun, 2018 6 commits
  4. 22 Jun, 2018 2 commits
  5. 21 Jun, 2018 6 commits
  6. 20 Jun, 2018 5 commits
    • Chris Wilson's avatar
      drm/i915/selftests: Remove unused dmabuf->kmap routines, fix the build · f55786fa
      Chris Wilson authored
      Fix i915's CI build after the removal of the dmabuf->kmap interface that
      left the mock routines intact.
      
      In file included from drivers/gpu/drm/i915/i915_gem_dmabuf.c:335:0:
      drivers/gpu/drm/i915/selftests/mock_dmabuf.c:104:13: error: ‘mock_dmabuf_kunmap_atomic’ defined but not used [-Werror=unused-function]
       static void mock_dmabuf_kunmap_atomic(struct dma_buf *dma_buf, unsigned long page_num, void *addr)
      drivers/gpu/drm/i915/selftests/mock_dmabuf.c:97:14: error: ‘mock_dmabuf_kmap_atomic’ defined but not used [-Werror=unused-function]
       static void *mock_dmabuf_kmap_atomic(struct dma_buf *dma_buf, unsigned long page_num)
      
      Fixes: f664a526 ("dma-buf: remove kmap_atomic interface")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180620162152.1158-1-chris@chris-wilson.co.ukReviewed-by: default avatarChristian König <christian.koenig@amd.com>
      f55786fa
    • Gustavo Padovan's avatar
      Merge drm-upstream/drm-next into drm-misc-next · d98c71da
      Gustavo Padovan authored
      We got a few conflicts in drm_atomic.c after merging the DRM writeback support,
      now we need a backmerge to unlock develop development on drm-misc-next.
      Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.com>
      d98c71da
    • Liviu Dudau's avatar
      drm: writeback: Add client capability for exposing writeback connectors · d67b6a20
      Liviu Dudau authored
      Due to the fact that writeback connectors behave in a special way
      in DRM (they always report being disconnected) we might confuse some
      userspace. Add a client capability for writeback connectors that will
      filter them out for clients that don't understand the capability.
      
      Changelog:
       - only accept the capability if the client has already set the
      DRM_CLIENT_CAP_ATOMIC one.
      
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: Brian Starkey <brian.starkey@arm.com>
      Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Reviewed-by: default avatarBrian Starkey <brian.starkey@arm.com>
      Link: https://patchwork.freedesktop.org/patch/229038/
      d67b6a20
    • Brian Starkey's avatar
      drm: writeback: Add out-fences for writeback connectors · b13cc8dd
      Brian Starkey authored
      Add the WRITEBACK_OUT_FENCE_PTR property to writeback connectors, to
      enable userspace to get a fence which will signal once the writeback is
      complete. It is not allowed to request an out-fence without a
      framebuffer attached to the connector.
      
      A timeline is added to drm_writeback_connector for use by the writeback
      out-fences.
      
      In the case of a commit failure or DRM_MODE_ATOMIC_TEST_ONLY, the fence
      is set to -1.
      
      Changes from v2:
       - Rebase onto Gustavo Padovan's v9 explicit sync series
       - Change out_fence_ptr type to s32 __user *
       - Set *out_fence_ptr to -1 in drm_atomic_connector_set_property
       - Store fence in drm_writeback_job
       Gustavo Padovan:
       - Move out_fence_ptr out of connector_state
       - Signal fence from drm_writeback_signal_completion instead of
         in driver directly
      
      Changes from v3:
       - Rebase onto commit 7e9081c5 ("drm/fence: fix memory overwrite
         when setting out_fence fd") (change out_fence_ptr to s32 __user *,
         for real this time.)
       - Update documentation around WRITEBACK_OUT_FENCE_PTR
      Signed-off-by: default avatarBrian Starkey <brian.starkey@arm.com>
      [rebased and fixed conflicts]
      Signed-off-by: default avatarMihail Atanassov <mihail.atanassov@arm.com>
      Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
      Link: https://patchwork.freedesktop.org/patch/229036/
      b13cc8dd
    • Brian Starkey's avatar
      drm: Add writeback connector type · 935774cd
      Brian Starkey authored
      Writeback connectors represent writeback engines which can write the
      CRTC output to a memory framebuffer. Add a writeback connector type and
      related support functions.
      
      Drivers should initialize a writeback connector with
      drm_writeback_connector_init() which takes care of setting up all the
      writeback-specific details on top of the normal functionality of
      drm_connector_init().
      
      Writeback connectors have a WRITEBACK_FB_ID property, used to set the
      output framebuffer, and a WRITEBACK_PIXEL_FORMATS blob used to expose the
      supported writeback formats to userspace.
      
      When a framebuffer is attached to a writeback connector with the
      WRITEBACK_FB_ID property, it is used only once (for the commit in which
      it was included), and userspace can never read back the value of
      WRITEBACK_FB_ID. WRITEBACK_FB_ID can only be set if the connector is
      attached to a CRTC.
      
      Changes since v1:
       - Added drm_writeback.c + documentation
       - Added helper to initialize writeback connector in one go
       - Added core checks
       - Squashed into a single commit
       - Dropped the client cap
       - Writeback framebuffers are no longer persistent
      
      Changes since v2:
       Daniel Vetter:
       - Subclass drm_connector to drm_writeback_connector
       - Relax check to allow CRTC to be set without an FB
       - Add some writeback_ prefixes
       - Drop PIXEL_FORMATS_SIZE property, as it was unnecessary
       Gustavo Padovan:
       - Add drm_writeback_job to handle writeback signalling centrally
      
      Changes since v3:
       - Rebased
       - Rename PIXEL_FORMATS -> WRITEBACK_PIXEL_FORMATS
      
      Chances since v4:
       - Embed a drm_encoder inside the drm_writeback_connector to
         reduce the amount of boilerplate code required from the drivers
         that are using it.
      
      Changes since v5:
       - Added Rob Clark's atomic_commit() vfunc to connector helper
         funcs, so that writeback jobs are committed from atomic helpers
       - Updated create_writeback_properties() signature to return an
         error code rather than a boolean false for failure.
       - Free writeback job with the connector state rather than when
         doing the cleanup_work()
      
      Changes since v7:
       - fix extraneous use of out_fence that is only introduced in a
         subsequent patch.
      
      Changes since v8:
       - whitespace changes pull from subsequent patch
      
      Changes since v9:
       - Revert the v6 changes that free the writeback job in the connector
         state cleanup and return to doing it in the cleanup_work() function
      Signed-off-by: default avatarBrian Starkey <brian.starkey@arm.com>
      [rebased and fixed conflicts]
      Signed-off-by: default avatarMihail Atanassov <mihail.atanassov@arm.com>
      [rebased and added atomic_commit() vfunc for writeback jobs]
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Link: https://patchwork.freedesktop.org/patch/229037/
      935774cd