David, Please incorporate the latest Armada DRM development updates development updates, which can be found at:
git://ftp.arm.linux.org.uk/~rmk/linux-arm.git drm-armada-devel with SHA1 7cb410cdbdc9b71e2d4f356f2e4cea0b925abb21. These changes: * remove support for the non-component support from the Armada DRM driver, switching it to component-only mode. * create a "armada plane" to allow the primary and overlay planes to share some code. * increase efficiency by using inherently atomic operations, rather than spinlocking to achieve atomicity. Eg, if we want to exchange a value, using xchg(). * increase PM savings by stopping the external pixel clock when we're in DPMS mode. Please merge this for the 4.4 merge window. Thanks. This will update the following files: drivers/gpu/drm/armada/Kconfig | 9 -- drivers/gpu/drm/armada/Makefile | 3 +- drivers/gpu/drm/armada/armada_crtc.c | 258 +++++++++++++++++++++++--------- drivers/gpu/drm/armada/armada_crtc.h | 34 +++-- drivers/gpu/drm/armada/armada_drm.h | 16 -- drivers/gpu/drm/armada/armada_drv.c | 148 +++--------------- drivers/gpu/drm/armada/armada_output.c | 142 ------------------ drivers/gpu/drm/armada/armada_output.h | 33 ---- drivers/gpu/drm/armada/armada_overlay.c | 147 +++++++++--------- drivers/gpu/drm/armada/armada_slave.c | 139 ----------------- drivers/gpu/drm/armada/armada_slave.h | 26 ---- 11 files changed, 297 insertions(+), 658 deletions(-) delete mode 100644 drivers/gpu/drm/armada/armada_output.c delete mode 100644 drivers/gpu/drm/armada/armada_output.h delete mode 100644 drivers/gpu/drm/armada/armada_slave.c delete mode 100644 drivers/gpu/drm/armada/armada_slave.h through these changes: Russell King (20): drm/armada: remove non-component support drm/armada: move vbl code into armada_crtc drm/armada: use drm_plane_force_disable() to disable the overlay plane drm/armada: disable CRTC clock during DPMS drm/armada: redo locking and atomics for armada_drm_crtc_complete_frame_work() drm/armada: rename overlay identifiers drm/armada: factor out retirement of old fb drm/armada: use xchg() to atomically update dplane->old_fb drm/armada: update armada overlay to use drm_universal_plane_init() drm/armada: introduce generic armada_plane struct drm/armada: add primary plane creation drm/armada: allocate primary plane ourselves drm/armada: provide a common helper to disable a plane drm/armada: move write to dma_ctrl0 to armada_drm_crtc_plane_disable() drm/armada: move the update of dplane->ctrl0 out of spinlock drm/armada: move the locking for armada_drm_vbl_event_remove() drm/armada: move frame wait into armada_frame drm/armada: move CRTC flip work to primary plane work drm/armada: convert overlay plane vbl worker to a armada plane worker drm/armada: move frame wait wakeup into plane work Many thanks.