mbox series

[v4,00/12] drm: Add self refresh helpers

Message ID 20190508160920.144739-1-sean@poorly.run (mailing list archive)
Headers show
Series drm: Add self refresh helpers | expand

Message

Sean Paul May 8, 2019, 4:09 p.m. UTC
From: Sean Paul <seanpaul@chromium.org>

Another version of the SR helpers for your consumption.

Pretty minor differences between v4 and v3:
- lots of documentation changes
- Use connector to get at crtc state in encoders
- Use the damage helpers in rockchip to fix fbdev

Note that the rockchip patches require
e9abc611a941d4051cde1d94b2ab7473fdb50102 which is making its way through
the -fixes branches.

PTAL

Laurent Pinchart (1):
  drm: Add drm_atomic_get_(old|new-_connector_for_encoder() helpers

Sean Paul (10):
  drm: Add atomic variants of enable/disable to encoder helper funcs
  drm: Add atomic variants for bridge enable/disable
  drm: Convert connector_helper_funcs->atomic_check to accept
    drm_atomic_state
  drm: Add helpers to kick off self refresh mode in drivers
  drm/rockchip: Use dirtyfb helper
  drm/rockchip: Check for fast link training before enabling psr
  drm/rockchip: Use the helpers for PSR
  drm/rockchip: Use vop_win in vop_win_disable instead of vop_win_data
  drm/rockchip: Don't fully disable vop on self refresh
  drm/rockchip: Use drm_atomic_helper_commit_tail_rpm

 Documentation/gpu/drm-kms-helpers.rst         |   9 +
 drivers/gpu/drm/Makefile                      |   2 +-
 .../drm/bridge/analogix/analogix_dp_core.c    | 292 +++++++++++++-----
 .../drm/bridge/analogix/analogix_dp_core.h    |   2 +-
 drivers/gpu/drm/drm_atomic.c                  |  72 +++++
 drivers/gpu/drm/drm_atomic_helper.c           |  55 +++-
 drivers/gpu/drm/drm_atomic_state_helper.c     |   4 +
 drivers/gpu/drm/drm_atomic_uapi.c             |   7 +-
 drivers/gpu/drm/drm_bridge.c                  | 110 +++++++
 drivers/gpu/drm/drm_self_refresh_helper.c     | 213 +++++++++++++
 drivers/gpu/drm/i915/intel_atomic.c           |   8 +-
 drivers/gpu/drm/i915/intel_dp_mst.c           |   7 +-
 drivers/gpu/drm/i915/intel_drv.h              |   2 +-
 drivers/gpu/drm/i915/intel_sdvo.c             |   9 +-
 drivers/gpu/drm/i915/intel_tv.c               |   8 +-
 drivers/gpu/drm/nouveau/dispnv50/disp.c       |   5 +-
 drivers/gpu/drm/rcar-du/rcar_lvds.c           |  12 +-
 drivers/gpu/drm/rockchip/Makefile             |   3 +-
 .../gpu/drm/rockchip/analogix_dp-rockchip.c   | 106 ++++---
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c    |  39 +--
 drivers/gpu/drm/rockchip/rockchip_drm_psr.c   | 290 -----------------
 drivers/gpu/drm/rockchip/rockchip_drm_psr.h   |  30 --
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c   |  84 ++++-
 drivers/gpu/drm/vc4/vc4_txp.c                 |   7 +-
 include/drm/bridge/analogix_dp.h              |   4 -
 include/drm/drm_atomic.h                      |  22 ++
 include/drm/drm_bridge.h                      | 106 +++++++
 include/drm/drm_connector.h                   |  14 +
 include/drm/drm_crtc.h                        |  19 ++
 include/drm/drm_modeset_helper_vtables.h      |  50 ++-
 include/drm/drm_self_refresh_helper.h         |  22 ++
 31 files changed, 1062 insertions(+), 551 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_self_refresh_helper.c
 delete mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_psr.c
 delete mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_psr.h
 create mode 100644 include/drm/drm_self_refresh_helper.h

Comments

Heiko Stuebner May 16, 2019, 7:13 p.m. UTC | #1
Am Mittwoch, 8. Mai 2019, 18:09:05 CEST schrieb Sean Paul:
> From: Sean Paul <seanpaul@chromium.org>
> 
> Another version of the SR helpers for your consumption.
> 
> Pretty minor differences between v4 and v3:
> - lots of documentation changes
> - Use connector to get at crtc state in encoders
> - Use the damage helpers in rockchip to fix fbdev
> 
> Note that the rockchip patches require
> e9abc611a941d4051cde1d94b2ab7473fdb50102 which is making its way through
> the -fixes branches.
> 
> PTAL
> 
> Laurent Pinchart (1):
>   drm: Add drm_atomic_get_(old|new-_connector_for_encoder() helpers
> 
> Sean Paul (10):
>   drm: Add atomic variants of enable/disable to encoder helper funcs
>   drm: Add atomic variants for bridge enable/disable
>   drm: Convert connector_helper_funcs->atomic_check to accept
>     drm_atomic_state
>   drm: Add helpers to kick off self refresh mode in drivers
>   drm/rockchip: Use dirtyfb helper
>   drm/rockchip: Check for fast link training before enabling psr
>   drm/rockchip: Use the helpers for PSR
>   drm/rockchip: Use vop_win in vop_win_disable instead of vop_win_data
>   drm/rockchip: Don't fully disable vop on self refresh
>   drm/rockchip: Use drm_atomic_helper_commit_tail_rpm

whole series 
on	rk3399-gru-kevin (analogix-dp with psr),
	rk3288-veyron-pinky (analogix-dp without psr + dw_hdmi)

Tested-by: Heiko Stuebner <heiko@sntech.de>

Patch2 had a tiny bit of issue when trying to apply (surrounding code
seems to have changed), but all display stuff seems to keep working,
including the blinking cursor on the psr display :-) .


Thanks
Heiko