[RFC 0/4] drm/msm/mdp5: writeback connector support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(Sorry, meant to send this earlier, but got distracted on other things)

The first two patches are Brian Starkey's earlier writeback-connector
patches, with very minor rebasing to drm-next/v4.16-rc1, plus one small
addition to add atomic_commit() vfunc to the connector helpers, so that
writeback jobs could be committed directly from the atomic helpers.

I've tested this on dragonboard 410c (apq8016), with a hacked up
kmscube[1] to use the output of writeback as src texture for the next
frame.  (Yes, I know this isn't a "real" userspace, but I needed some
test code.)

So far, I've only managed to get WB2, which is connected to LM3, to
work.  I think there should be a WB0 attached to LM0 (which is also
attached to the DSI INTF).  It isn't clear to me if this can be used at
the same time as DSI video mode output.  If that is possible, then we
could support attaching both DSI and WB encoder+connector to the same
CRTC and re-use all the same planes being used for scanout to flatten
the composited image to a single buffer.  This would be an obvious and
simple use-case for weston and drm-hwc, to reduce power/bandwidth when
the screen is not updating by flattening all layers into a single layer
for the next frame.  But my attempts at making this work just made the
hardware grumpy.

These patches apply on top of msm-next[2] (which contains a couple other
required fixes, in particular improved CTL START signal handling).  The
patches can also be found on the msm-next-writeback[3] branch.

[1] https://github.com/robclark/kmscube/commits/writeback
[2] https://cgit.freedesktop.org/~robclark/linux/log/?h=msm-next
[3] https://cgit.freedesktop.org/~robclark/linux/log/?h=msm-next-writeback

Brian Starkey (2):
  drm: Add writeback connector type
  drm: writeback: Add out-fences for writeback connectors

Rob Clark (2):
  drm/msm/mdp5: add config for writeback pipes
  drm/msm/mdp5: writeback support

 Documentation/gpu/drm-kms.rst             |   9 +
 drivers/gpu/drm/Makefile                  |   2 +-
 drivers/gpu/drm/drm_atomic.c              | 229 ++++++++++++++++++-
 drivers/gpu/drm/drm_atomic_helper.c       |  30 +++
 drivers/gpu/drm/drm_connector.c           |   4 +-
 drivers/gpu/drm/drm_writeback.c           | 362 +++++++++++++++++++++++++++++
 drivers/gpu/drm/msm/Makefile              |   1 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5.xml.h  |   2 -
 drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c  |  17 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.h  |  11 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c |  23 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c  |  39 +++-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h  |   7 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_wb.c   | 367 ++++++++++++++++++++++++++++++
 drivers/gpu/drm/msm/dsi/dsi_host.c        |   4 +-
 include/drm/drm_atomic.h                  |  11 +
 include/drm/drm_connector.h               |  13 ++
 include/drm/drm_mode_config.h             |  22 ++
 include/drm/drm_modeset_helper_vtables.h  |  11 +
 include/drm/drm_writeback.h               | 128 +++++++++++
 include/uapi/drm/drm_mode.h               |   1 +
 21 files changed, 1265 insertions(+), 28 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_writeback.c
 create mode 100644 drivers/gpu/drm/msm/disp/mdp5/mdp5_wb.c
 create mode 100644 include/drm/drm_writeback.h

-- 
2.14.3

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux