1. 08 10月, 2019 1 次提交
  2. 07 10月, 2019 4 次提交
  3. 04 9月, 2019 9 次提交
    • R
      drm/msm/dpu: async commit support · cd6d9231
      Rob Clark 提交于
      In addition, moving to kms->flush_commit() lets us drop the only user
      of kms->commit().
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      Reviewed-by: NSean Paul <sean@poorly.run>
      cd6d9231
    • R
      drm/msm: split power control from prepare/complete_commit · e35a29d5
      Rob Clark 提交于
      With atomic commit, ->prepare_commit() and ->complete_commit() may not
      be evenly balanced (although ->complete_commit() will complete each
      crtc that had been previously prepared).  So these will no longer be
      a good place to enable/disable clocks needed for hw access.
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      Reviewed-by: NSean Paul <sean@poorly.run>
      e35a29d5
    • R
      drm/msm: add kms->flush_commit() · 9f6b6564
      Rob Clark 提交于
      Add ->flush_commit(crtc_mask).  Currently a no-op, but kms backends
      should migrate writing flush registers to this hook, so we can decouple
      pushing updates to hardware, and flushing the updates.
      
      Once we add async commit support, the hw updates will be pushed down to
      the hw synchronously, but flushing the updates will be deferred until as
      close to vblank as possible, so that multiple updates can be combined in
      a single frame.
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      Reviewed-by: NSean Paul <sean@poorly.run>
      9f6b6564
    • R
      drm/msm: convert kms->complete_commit() to crtc_mask · 80b4b4a7
      Rob Clark 提交于
      Prep work for async commits, in which case this will be called after we
      no longer have the atomic state object.
      
      This drops some wait_for_vblanks(), but those should be unnecessary, as
      we call this after waiting for flush to complete.
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      Reviewed-by: NSean Paul <sean@poorly.run>
      80b4b4a7
    • R
      drm/msm: add kms->wait_flush() · d4d2c604
      Rob Clark 提交于
      First step in re-working the atomic related internal API to prepare for
      async updates pending.. ->wait_flush() is intended to block until there
      is no in-progress flush.
      
      A crtc_mask is used, rather than an atomic state object, as this will
      later be used for async flush after the atomic state is destroyed.
      
      This replaces ->wait_for_crtc_commit_done()
      
      v2: update for review comments
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      d4d2c604
    • R
      drm/msm/dpu: unwind async commit handling · b4bb9f15
      Rob Clark 提交于
      It attempted to avoid fps drops in the presence of cursor updates.  But
      it is racing, and can result in hw updates after flush before vblank,
      which leads to underruns.
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      Reviewed-by: NSean Paul <sean@poorly.run>
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      b4bb9f15
    • R
      drm/msm/dpu: remove some impossible error checking · 33e42bf6
      Rob Clark 提交于
      I'm sure there is plenty more to remove.. this is just some of the ones
      I noticed.
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      33e42bf6
    • R
      drm/msm/dpu: fix "frame done" timeouts · 241b507c
      Rob Clark 提交于
      Previously, dpu_crtc_frame_event_work() would try to aquire all the
      modeset locks in order to check whether it can release bandwidth.  (If
      we only have cmd-mode display, bandwidth can be released at frame-done
      time.)
      
      The problem with this is that it is also responsible for signalling
      frame_done_comp, which dpu_crtc_commit_kickoff() waits on if there is
      already a frame pending.  This is called in the msm_atomic_commit_tail()
      path.. which means that for non-nonblock commits, at least some of the
      modeset locks are already held.
      
      Re-work this scheme to use a reference count to track our need to have
      clocks enabled.  It is incremented for each atomic commit, and
      decremented in the corresponding frame-done.  Additionally, any crtc
      used in video mode hold an extra reference while they are enabled.  The
      net effect is that we can determine in frame-done whether it is safe to
      drop bandwidth without needing to aquire any modeset locks.
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      Reviewed-by: NSean Paul <sean@chromium.org>
      Signed-off-by: NRob Clark <robdclark@chromium.org>
      241b507c
    • S
      drm/msm: drop use of drmP.h · feea39a8
      Sam Ravnborg 提交于
      Drop the deprecated drmP.h header file, and trim msm_drv.h
      to the relevant include files.
      
      This resulted in a suprisingly many edits as many files relied
      on headers included via msm_drv.h.
      But msm_drv.h is not supposed to carry include files it do not need, so
      the individual files have to include what extra they needs.
      
      v2:
      - Rebased on top of https://gitlab.freedesktop.org/drm/msm.git msm-next
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Sean Paul <sean@poorly.run>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Jordan Crouse <jcrouse@codeaurora.org>
      Cc: Jeykumar Sankaran <jsanka@codeaurora.org>
      Cc: Bruce Wang <bzwang@chromium.org>
      Cc: Shayenne Moura <shayenneluzmoura@gmail.com>
      Cc: Mamta Shukla <mamtashukla555@gmail.com>
      Cc: Jonathan Marek <jonathan@marek.ca>
      Cc: Carsten Behling <carsten.behling@googlemail.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <maxime.ripard@bootlin.com>
      Cc: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
      Cc: Sibi Sankar <sibis@codeaurora.org>
      Cc: Todor Tomov <todor.tomov@linaro.org>
      Cc: linux-arm-msm@vger.kernel.org
      Cc: freedreno@lists.freedesktop.org
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190804065551.GA5211@ravnborg.org
      feea39a8
  4. 21 6月, 2019 1 次提交
  5. 19 6月, 2019 6 次提交
  6. 01 2月, 2019 4 次提交
  7. 12 12月, 2018 15 次提交