[Intel-gfx] [PATCHv4 00/13] Universal plane preparation patches

Daniel Vetter daniel at ffwll.ch
Fri Mar 28 01:15:20 PDT 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 dri-devel mailing list