[PATCH 00/38] nonblocking atomic commits for everyone!
Daniel Vetter
daniel.vetter at ffwll.ch
Wed Jun 1 22:06:23 UTC 2016
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
More information about the dri-devel
mailing list