dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Roper <matthew.d.roper@intel.com>
To: dri-devel@lists.freedesktop.org
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: [PATCHv4 00/13] Universal plane preparation patches
Date: Thu, 27 Mar 2014 17:44:25 -0700	[thread overview]
Message-ID: <1395967478-30549-1-git-send-email-matthew.d.roper@intel.com> (raw)

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@lists.freedesktop.org>
-- 
1.8.5.1

             reply	other threads:[~2014-03-28  0:44 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-28  0:44 Matt Roper [this message]
2014-03-28  0:44 ` [PATCHv4 01/13] drm: Add support for multiple plane types (v2) Matt Roper
2014-03-28  0:44 ` [PATCHv4 02/13] drm/exynos: Restrict plane loops to only operate on overlay planes (v2) Matt Roper
2014-03-28  0:44 ` [PATCHv4 03/13] drm/i915: " Matt Roper
2014-03-28  0:44 ` [PATCHv4 04/13] drm/shmobile: Restrict plane loops to only operate on legacy planes Matt Roper
2014-03-28 15:50   ` Laurent Pinchart
2014-03-28 17:52     ` Daniel Vetter
2014-03-28 17:53       ` Daniel Vetter
2014-04-01 15:27         ` Laurent Pinchart
2014-04-01 21:43           ` Daniel Vetter
2014-03-28  0:44 ` [PATCHv4 05/13] drm: Make drm_crtc_check_viewport non-static Matt Roper
2014-03-28  0:44 ` [PATCHv4 06/13] drm: Add primary plane helpers (v2) Matt Roper
2014-03-28  8:32   ` Daniel Vetter
2014-03-28 15:48     ` Laurent Pinchart
2014-03-28 17:54       ` Daniel Vetter
2014-04-01 15:25         ` Laurent Pinchart
2014-04-01  1:03     ` Matt Roper
2014-04-01  7:45       ` Daniel Vetter
2014-04-01 11:45         ` Rob Clark
2014-04-01 12:33           ` Daniel Vetter
2014-04-01 19:46         ` Dave Airlie
2014-04-01 21:47           ` Daniel Vetter
2014-04-01  1:04     ` Rob Clark
2014-03-28  0:44 ` [PATCHv4 07/13] drm: Add drm_universal_plane_init() Matt Roper
2014-03-28  0:44 ` [PATCHv4 08/13] drm: Add plane type property (v2) Matt Roper
2014-03-28  0:44 ` [PATCHv4 09/13] drm: Add plane max width/height properties Matt Roper
2014-03-28  8:21   ` Daniel Vetter
2014-03-28  0:44 ` [PATCHv4 10/13] drm: Add drm_crtc_init_with_planes() Matt Roper
2014-03-28  9:11   ` Daniel Vetter
2014-03-28 17:56   ` Daniel Vetter
2014-03-28  0:44 ` [PATCHv4 11/13] drm/msm: Switch to universal plane API's Matt Roper
2014-03-28  0:44 ` [PATCHv4 12/13] drm: Replace crtc fb with primary plane fb (v3) Matt Roper
2014-03-28  8:40   ` Daniel Vetter
2014-03-28  0:44 ` [PATCHv4 13/13] drm: Remove unused drm_crtc->fb Matt Roper
2014-03-28  8:15 ` [Intel-gfx] [PATCHv4 00/13] Universal plane preparation patches Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1395967478-30549-1-git-send-email-matthew.d.roper@intel.com \
    --to=matthew.d.roper@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox