Previous series revisions & explanation at [1], [2], [3], and [4] Just a few minor changes in this revision based on Daniel's feedback; I think this should be pretty close to being ready for merging: * Docbook integration for primary plane helpers and new functions (and a few minor updates to existing plane documentation). * Dropped the max width/height property patch for now; actual hardware limitations can be more complex than a constant min/max and how to address this is still being discussed on the mailing list. * drm_crtc_init() moves to the helper library to ensure nothing in the core depends on helpers. * The cursor parameter to drm_crtc_init_with_planes() has been made a void* for now until we actually start adding cursor support. * The client capability bit to enable userspace visibility of universal planes is back, but hidden behind a drm.universal_planes module parameter. [1] http://lists.freedesktop.org/archives/dri-devel/2014-March/056424.html [2] http://lists.freedesktop.org/archives/dri-devel/2014-March/055855.html [3] http://lists.freedesktop.org/archives/dri-devel/2014-March/055222.html [4] http://lists.freedesktop.org/archives/dri-devel/2014-February/054719.html Matt Roper (14): drm: Add support for multiple plane types (v2) drm/exynos: Restrict plane loops to only operate on overlay planes (v2) drm/i915: Restrict plane loops to only operate on overlay planes (v2) drm/shmobile: Restrict plane loops to only operate on legacy planes drm: Make drm_crtc_check_viewport non-static drm: Add primary plane helpers (v3) drm: Add drm_universal_plane_init() drm: Add plane type property (v2) drm: Add drm_crtc_init_with_planes() (v2) drm/msm: Switch to universal plane API's drm: Replace crtc fb with primary plane fb (v3) drm: Remove unused drm_crtc->fb drm: Allow userspace to ask for universal plane list (v2) drm/doc: Update plane documentation and add plane helper library Documentation/DocBook/drm.tmpl | 50 +++- drivers/gpu/drm/Makefile | 3 +- drivers/gpu/drm/armada/armada_crtc.c | 23 +- drivers/gpu/drm/ast/ast_mode.c | 12 +- drivers/gpu/drm/bochs/bochs_kms.c | 4 +- drivers/gpu/drm/cirrus/cirrus_mode.c | 10 +- drivers/gpu/drm/drm_crtc.c | 189 +++++++++++---- drivers/gpu/drm/drm_crtc_helper.c | 20 +- drivers/gpu/drm/drm_fb_helper.c | 9 +- drivers/gpu/drm/drm_ioctl.c | 7 + drivers/gpu/drm/drm_plane_helper.c | 333 +++++++++++++++++++++++++++ drivers/gpu/drm/drm_stub.c | 5 + drivers/gpu/drm/exynos/exynos_drm_crtc.c | 22 +- drivers/gpu/drm/exynos/exynos_drm_encoder.c | 2 +- drivers/gpu/drm/gma500/cdv_intel_display.c | 2 +- drivers/gpu/drm/gma500/cdv_intel_dp.c | 2 +- drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 2 +- drivers/gpu/drm/gma500/cdv_intel_lvds.c | 2 +- drivers/gpu/drm/gma500/gma_display.c | 16 +- drivers/gpu/drm/gma500/mdfld_dsi_output.c | 2 +- drivers/gpu/drm/gma500/mdfld_intel_display.c | 16 +- drivers/gpu/drm/gma500/oaktrail_crtc.c | 12 +- drivers/gpu/drm/gma500/psb_intel_display.c | 2 +- drivers/gpu/drm/gma500/psb_intel_lvds.c | 2 +- drivers/gpu/drm/gma500/psb_intel_sdvo.c | 2 +- drivers/gpu/drm/i915/i915_debugfs.c | 4 +- drivers/gpu/drm/i915/i915_irq.c | 4 +- drivers/gpu/drm/i915/intel_display.c | 148 ++++++------ drivers/gpu/drm/i915/intel_dp.c | 4 +- drivers/gpu/drm/i915/intel_fbdev.c | 6 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 38 +-- drivers/gpu/drm/mgag200/mgag200_mode.c | 26 +-- drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 33 +-- drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 8 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 27 ++- drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 8 +- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 20 +- drivers/gpu/drm/nouveau/dispnv04/dfp.c | 2 +- drivers/gpu/drm/nouveau/nouveau_display.c | 8 +- drivers/gpu/drm/nouveau/nv50_display.c | 17 +- drivers/gpu/drm/omapdrm/omap_crtc.c | 10 +- drivers/gpu/drm/omapdrm/omap_fb.c | 2 +- drivers/gpu/drm/qxl/qxl_display.c | 10 +- drivers/gpu/drm/radeon/atombios_crtc.c | 20 +- drivers/gpu/drm/radeon/r100.c | 4 +- drivers/gpu/drm/radeon/radeon_connectors.c | 2 +- drivers/gpu/drm/radeon/radeon_device.c | 2 +- drivers/gpu/drm/radeon/radeon_display.c | 4 +- drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 16 +- drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 10 +- drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 16 +- drivers/gpu/drm/tegra/dc.c | 16 +- drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 8 +- drivers/gpu/drm/udl/udl_modeset.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 14 +- drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 8 +- drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 8 +- drivers/staging/imx-drm/ipuv3-crtc.c | 6 +- include/drm/drmP.h | 6 + include/drm/drm_crtc.h | 50 +++- include/drm/drm_plane_helper.h | 49 ++++ include/uapi/drm/drm.h | 8 + 63 files changed, 985 insertions(+), 392 deletions(-) create mode 100644 drivers/gpu/drm/drm_plane_helper.c create mode 100644 include/drm/drm_plane_helper.h -- 1.8.5.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel