This is a follow-on set to Yakir's original PSR set here: https://lkml.org/lkml/2016/7/24/34 and applies to the for-next branch at: https://cgit.freedesktop.org/~seanpaul/dogwood There are a few issues with the code that needed to be shored up. (1) The use of mutexes instead of spinlocks caused issues calling the psr functions from vblank_enable/disable. (2) The proliferation of workers due to (1) (3) A bunch of races due to (2) (4) vblank is not enabled unless an event is requested, this breaks a lot of things, but most noticeable was cursor. Changes in v2: - Rebased on https://cgit.freedesktop.org/~seanpaul/dogwood instead of random on-list patches (some of which had drifted) - Added the "small fixes" patch to catch some nits Sean Paul (6): drm/rockchip: Convert psr_list_mutex to spinlock and use it drm/rockchip: Don't use a delayed worker for psr state changes drm/rockchip: Use a spinlock to protect psr state drm/rockchip: A couple small fixes to psr drm/rockchip: Improve analogix-dp psr handling drm/rockchip: Enable vblank without event drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 19 ++++-- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_drv.h | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_psr.c | 90 ++++++++++++------------- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 15 +++-- 5 files changed, 69 insertions(+), 59 deletions(-) -- 2.8.0.rc3.226.g39d4020 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel