Re: [RFC PATCH v1 0/2]

From: Daniel Vetter
Date: Tue May 31 2016 - 10:38:40 EST


On Tue, May 31, 2016 at 09:37:36PM +0800, Yakir Yang wrote:
> 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.
>
> For example, when desktop haven't change the context for a long time,
> then we could refresh the data to the hardware framebuffer of panel,
> and then let panel enter into PSR mode. After that system could poweroff
> the LCDC controller and eDP controller, just let panel refresh the screen
> by itself.
>
> It's hard to decide when panel should enter into PSR or exit from PSR, in
> this time I chose to let the drm_vblank enable/disable event driver the PSR.
>
> 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/9132713/

Looks like you didn't wire up the drm_framebuffer->funcs->dirty callback
for manual upload of simple clients like bootsplash or fbdev. I think
that's needed. At least it's needed for every other manual upload dsi and
edp psr implementation.
-Daniel

>
> - Yakir
> Thanks,
>
>
> Yakir Yang (2):
> drm/rockchip: add a notify event about vblank enable/disable
> drm/rockchip: analogix: add eDP PSR function
>
> drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 69 ++++++++++++++
> drivers/gpu/drm/bridge/analogix/analogix_dp_core.h | 5 +
> 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 | 65 +++++++++++++
> drivers/gpu/drm/rockchip/rockchip_drm_notify.c | 105 +++++++++++++++++++++
> drivers/gpu/drm/rockchip/rockchip_drm_notify.h | 33 +++++++
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 96 +++++++++++++++++++
> drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 3 +
> drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 2 +
> include/drm/bridge/analogix_dp.h | 3 +
> 12 files changed, 464 insertions(+), 1 deletion(-)
> create mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_notify.c
> create mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_notify.h
>
> --
> 1.9.1
>
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch