[PATCH v3 0/4] Add PSR function support for Analogix/Rockchip DP

Yakir Yang
2016-07-01T09:18:36Z

Hi all,

The full name of PSR is Panel Self Refresh, panel device could refresh
itself with the hardware framebuffer in panel, this would make a lots
of sense to save the power consumption.

This v3 version have splited an common PSR driver for Rockchip, which is
biggest changes from v2.

This thread is based on Mark's RK3399 VOP thread[0] and my RK3399 eDP
thread[1].

[0]: https://patchwork.kernel.org/patch/8886041/
[1]: https://patchwork.kernel.org/patch/9204497/

Thanks,
- Yakir

Changes in v3:
- Remove the notify for waiting line_flag event (Daniel)
- implement the 'fb->dirty' callback function (Daniel)
- avoid to use notify to acqiure for vact event (Daniel)
- split the psr flow into an common abstracted PSR driver
- Export the 'rockchip_drm_wait_line_flag' symbol, and document it.
- Add 'line_flag_num_0' for RK3288/RK3036
- remove psr_active() callback which introduce in v2
- split analogix_dp_enable_psr(), make it more clearly
analogix_dp_detect_sink_psr()
analogix_dp_enable_sink_psr()
- remove some nosie register setting comments
- split the common psr logic into a seperate driver, make this to a
simple sub-psr device driver.

Changes in v2:
- Introduce in v2, split VOP line flag changes out
- introduce in v2, splite the common Analogix DP changes out
- remove vblank notify out (Daniel)
- create a psr_active() callback in vop data struct.

Yakir Yang (4):
drm/rockchip: vop: export line flag function
drm/rockchip: add an common abstracted PSR driver
drm/bridge: analogix_dp: add the PSR function support
drm/rockchip: analogix_dp: implement PSR function

drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 64 +++++++
drivers/gpu/drm/bridge/analogix/analogix_dp_core.h | 4 +
drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 54 ++++++
drivers/gpu/drm/bridge/analogix/analogix_dp_reg.h | 28 +++
drivers/gpu/drm/rockchip/Makefile | 2 +-
drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 52 ++++++
drivers/gpu/drm/rockchip/rockchip_drm_drv.h | 3 +
drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 12 ++
drivers/gpu/drm/rockchip/rockchip_drm_psr.c | 200 +++++++++++++++++++++
drivers/gpu/drm/rockchip/rockchip_drm_psr.h | 12 ++
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 127 +++++++++++++
drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 3 +
drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 4 +
include/drm/bridge/analogix_dp.h | 3 +
14 files changed, 567 insertions(+), 1 deletion(-)
create mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_psr.c
create mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_psr.h

--
1.9.1