linux/drivers/gpu/drm/rockchip
Tomasz Figa d2d4f51d5a drm/rockchip: Disallow PSR for the whole atomic commit
Currently PSR flush is triggered from CRTC's .atomic_begin() callback,
which is executed after modeset disables and enables and before plane
updates are committed. Since PSR flush and re-enable can be triggered
asynchronously by external sources (input event, delayed work), it can
race with hardware programming done in the aforementioned stages.

This patch blocks the PSR completely before hardware programming part
begins and unblock after it ends. This relies on reference counted PSR
disable introduced with previous patch.

Cc: Kristian H. Kristensen <hoegsberg@chromium.org>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180423105003.9004-27-enric.balletbo@collabora.com
2018-04-24 08:34:53 +02:00
..
analogix_dp-rockchip.c drm/rockchip: psr: Sanitize semantics of allow/inhibit API 2018-04-24 08:34:52 +02:00
cdn-dp-core.c drm/rockchip: cdn-dp: remove the DP phy switch 2018-03-16 11:51:11 +01:00
cdn-dp-core.h
cdn-dp-reg.c drm/rockchip: Replace dev_* with DRM_DEV_* 2017-09-18 09:50:44 +08:00
cdn-dp-reg.h drm/rockchip: cdn-dp: Correct PHY register address 2017-03-13 15:59:26 -04:00
dw_hdmi-rockchip.c drm/rockchip: dw_hdmi: Move HDMI vpll clock enable to bind() 2018-03-08 17:32:53 +01:00
dw-mipi-dsi.c drm/rockchip: dw-mipi-dsi: Fix connector and encoder cleanup. 2018-03-08 17:32:52 +01:00
inno_hdmi.c drm/rockchip: inno_hdmi: reorder clk_disable_unprepare call in unbind 2018-03-08 17:32:52 +01:00
inno_hdmi.h
Kconfig drm/rockchip: add CONFIG_OF dependency for lvds 2017-11-06 10:31:17 -05:00
Makefile main drm pull request for v4.15 2017-11-15 20:42:10 -08:00
rockchip_drm_drv.c drm/rockchip: Don't use atomic constructs for psr 2018-03-08 23:28:53 +01:00
rockchip_drm_drv.h drm/rockchip: pre dither down when output bpc is 8bit 2018-04-24 08:34:47 +02:00
rockchip_drm_fb.c drm/rockchip: Disallow PSR for the whole atomic commit 2018-04-24 08:34:53 +02:00
rockchip_drm_fb.h
rockchip_drm_fbdev.c drm/rockchip: Replace dev_* with DRM_DEV_* 2017-09-18 09:50:44 +08:00
rockchip_drm_fbdev.h
rockchip_drm_gem.c drm/rockchip: fixup comment for gem_free_object_unlocked 2018-03-28 17:07:36 +02:00
rockchip_drm_gem.h drm/rockchip: support prime import sg table 2018-02-18 11:16:40 +01:00
rockchip_drm_psr.c drm/rockchip: psr: Sanitize semantics of allow/inhibit API 2018-04-24 08:34:52 +02:00
rockchip_drm_psr.h drm/rockchip: psr: Sanitize semantics of allow/inhibit API 2018-04-24 08:34:52 +02:00
rockchip_drm_vop.c drm/rockchip: Disallow PSR for the whole atomic commit 2018-04-24 08:34:53 +02:00
rockchip_drm_vop.h drm/rockchip: pre dither down when output bpc is 8bit 2018-04-24 08:34:47 +02:00
rockchip_lvds.c drm/rockchip: lvds: Explicitly include pinctrl headers 2018-02-05 09:41:54 -08:00
rockchip_lvds.h drm/rockchip: Add support for Rockchip Soc LVDS 2017-09-08 14:57:26 +08:00
rockchip_vop_reg.c drm/rockchip: pre dither down when output bpc is 8bit 2018-04-24 08:34:47 +02:00
rockchip_vop_reg.h drm/rockchip: vop: add rk3126 vop support 2017-11-16 14:21:50 +08:00