[Intel-gfx] [PATCHv4 00/13] Universal plane preparation patches
Daniel Vetter
daniel at ffwll.ch
Fri Mar 28 09:15:20 CET 2014
On Thu, Mar 27, 2014 at 05:44:25PM -0700, Matt Roper wrote:
> 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.
The usual way to expose experimental feature is to hide them by default,
but have a moduel option for developers like drm.universal_planes=1. So
for the next round I think you can add the capability again with that drm
module option added.
-Daniel
> 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
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list