[PATCHv4 00/13] Universal plane preparation patches
Matt Roper
matthew.d.roper at intel.com
Thu Mar 27 17:44:25 PDT 2014
Previous series revisions & explanation at [1], [2], and [3]
This version of the patch series focuses on isolating the DRM core changes from
individual driver changes to (hopefully) make this a bit easier to merge. New
plane and crtc initialization functions have been added to allow drivers to
migrate to the new infrastructure at their own pace; existing drivers that do
not update should continue to function as expected. The one remaining painful
patch here is patch #12, which replaces crtc->fb with crtc->primary->fb. That
patch is now auto-generated via a Coccinelle semantic patch with the rules
described in the commit message; hopefully that will make life slightly easier
for tree maintainers who want to pull it in.
Daniel mentioned that we should try to merge the underlying infrastructure here
without the actual userspace-facing capability bit to make sure things continue
to run as expected without breaking; I've dropped the capability bit patch for
now, but the previous version from [4] should work on top of this patch set.
I've also dropped the i915 cursor support for the moment to keep the patch set
simple.
I believe the only userspace-visible changes in this series are the plane type
property (which will always return "overlay" since there's no switch to turn on
the other plane types) and max width/height plane properties. I figured
properties were a little bit cleaner than extending GetPlane() to return
additional information, although I can change that if people feel differently.
Presumably we're still going to need a lot more properties that describe the
limits and capabilities of planes as we go forward (stride, scaling, tiling,
etc.)
[1] http://lists.freedesktop.org/archives/dri-devel/2014-March/055855.html
[2] http://lists.freedesktop.org/archives/dri-devel/2014-March/055222.html
[3] http://lists.freedesktop.org/archives/dri-devel/2014-February/054719.html
[4] http://lists.freedesktop.org/archives/dri-devel/2014-March/055216.html
Matt Roper (13):
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 (v2)
drm: Add drm_universal_plane_init()
drm: Add plane type property (v2)
drm: Add plane max width/height properties
drm: Add drm_crtc_init_with_planes()
drm/msm: Switch to universal plane API's
drm: Replace crtc fb with primary plane fb (v3)
drm: Remove unused drm_crtc->fb
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 | 228 ++++++++++++++++----
drivers/gpu/drm/drm_crtc_helper.c | 20 +-
drivers/gpu/drm/drm_fb_helper.c | 9 +-
drivers/gpu/drm/drm_plane_helper.c | 312 +++++++++++++++++++++++++++
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/drm_crtc.h | 52 ++++-
include/drm/drm_plane_helper.h | 49 +++++
58 files changed, 940 insertions(+), 381 deletions(-)
create mode 100644 drivers/gpu/drm/drm_plane_helper.c
create mode 100644 include/drm/drm_plane_helper.h
Cc: Intel Graphics Development <intel-gfx at lists.freedesktop.org>
--
1.8.5.1
More information about the dri-devel
mailing list