Hi all, Now without the RFC tag, but with polish: - kerneldoc for everything! - tested on virtio, hdlcd, rockchip and i915. The big upshot is still that the helpers are really picky about drivers sending out drm events correctly, and that is the area where most of the debug work was needed in testing these drivers. What's needed now: - review and bikesheds (not too many of the latter pls). - testing on arcpgu, fsl-du & sun4i. Those are among the drivers which didn't implement nonblocking and hence will be forcefully upgraded to use these helpers. Which might unearth bugs (I tried to fix them, but can't test). Cheers, Daniel Daniel Vetter (37): drm/atomic-helper: use for_each_*_in_state more drm/i915: Use drm_atomic_get_existing_plane_state drm/msm: Use for_each_*_in_state drm/rcar-du: Use for_each_*_in_state drm/vc4: Use for_each_plane_in_state drm/omap: Use for_each_plane_in_state drm/exynos: Use for_each_crtc_in_state drm/atomic: Add __drm_atomic_get_current_plane_state drm: Consolidate connector arrays in drm_atomic_state drm: Consolidate plane arrays in drm_atomic_state drm: Consolidate crtc arrays in drm_atomic_state drm/atomic-helper: Massage swap_state signature somewhat drm/arc: Nuke event_list drm/arc: Actually bother with handling atomic events. drm/hdlcd: Clean up crtc hooks drm/hdlcd: Fix up crtc_state->event handling drm/fsl-du: Implement some semblance of vblank event handling drm/hisilicon: Implement some semblance of vblank event handling drm/sun4i: Implement some semblance of vblank event handling drm/atomic: kerneldoc for drm_atomic_crtc_needs_modeset drm/atomic-helper: nonblocking commit support drm/hdlcd: Use helper support for nonblocking commits drm/arc: Implement nonblocking commit correctly drm/i915: Signal drm events for atomic drm/i915: Roll out the helper nonblock tracking drm/i915: nonblocking commit drm/i915: Use atomic commits for legacy page_flips drm/i915: Move fb_bits updating later in atomic_commit drm/rockchip: Disarm vop->is_enabled drm/rockchip: Fix crtc_state->event signalling drm/rockchip: convert to helper nonblocking atomic commit drm/rockchip: Nuke pending event handling in preclose drm/virtio: Don't reinvent a flipping wheel drm: Replace fb_helper->atomic with mode_config->atomic_commit drm: Resurrect atomic rmfb code drm/sti: Don't call drm_helper_disable_unused_functions drm/crtc-helper: disable_unused_functions really isn't for atomic Gustavo Padovan (1): drm/fence: add fence to drm_pending_event drivers/gpu/drm/arc/arcpgu.h | 1 - drivers/gpu/drm/arc/arcpgu_crtc.c | 19 +- drivers/gpu/drm/arc/arcpgu_drv.c | 27 +- drivers/gpu/drm/arm/hdlcd_crtc.c | 37 +- drivers/gpu/drm/arm/hdlcd_drv.c | 27 +- drivers/gpu/drm/arm/hdlcd_drv.h | 1 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 2 +- drivers/gpu/drm/drm_atomic.c | 168 ++++++-- drivers/gpu/drm/drm_atomic_helper.c | 532 ++++++++++++++++++++---- drivers/gpu/drm/drm_crtc.c | 9 + drivers/gpu/drm/drm_crtc_helper.c | 3 + drivers/gpu/drm/drm_crtc_internal.h | 1 + drivers/gpu/drm/drm_fb_helper.c | 6 +- drivers/gpu/drm/drm_fops.c | 22 +- drivers/gpu/drm/exynos/exynos_drm_drv.c | 10 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | 23 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 20 +- drivers/gpu/drm/i915/intel_atomic.c | 6 +- drivers/gpu/drm/i915/intel_display.c | 178 +++++--- drivers/gpu/drm/i915/intel_fbdev.c | 2 - drivers/gpu/drm/i915/intel_sprite.c | 14 + drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c | 20 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 10 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 12 +- drivers/gpu/drm/msm/msm_atomic.c | 37 +- drivers/gpu/drm/nouveau/nouveau_usif.c | 1 - drivers/gpu/drm/omapdrm/omap_drv.c | 13 +- drivers/gpu/drm/rcar-du/rcar_du_kms.c | 10 +- drivers/gpu/drm/rcar-du/rcar_du_plane.c | 20 +- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 25 -- drivers/gpu/drm/rockchip/rockchip_drm_drv.h | 11 - drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 73 +--- drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c | 3 - drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 68 +-- drivers/gpu/drm/sti/sti_drv.c | 3 +- drivers/gpu/drm/sun4i/sun4i_crtc.c | 12 + drivers/gpu/drm/tegra/drm.c | 2 +- drivers/gpu/drm/vc4/vc4_crtc.c | 11 +- drivers/gpu/drm/vc4/vc4_drv.h | 2 +- drivers/gpu/drm/vc4/vc4_kms.c | 12 +- drivers/gpu/drm/vc4/vc4_plane.c | 5 +- drivers/gpu/drm/virtio/virtgpu_display.c | 48 +-- include/drm/drmP.h | 4 +- include/drm/drm_atomic.h | 79 +++- include/drm/drm_atomic_helper.h | 12 +- include/drm/drm_crtc.h | 149 ++++++- include/drm/drm_fb_helper.h | 11 - include/drm/drm_modeset_helper_vtables.h | 39 ++ 49 files changed, 1165 insertions(+), 637 deletions(-) -- 2.8.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel