From: Matt Roper <matthew.d.roper@intel.com>
To: dri-devel@lists.freedesktop.org
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: [RFCv3 00/14] Unified plane support
Date: Tue, 18 Mar 2014 17:22:45 -0700 [thread overview]
Message-ID: <1395188579-17191-1-git-send-email-matthew.d.roper@intel.com> (raw)
Previous revision and explanation of series:
http://lists.freedesktop.org/archives/dri-devel/2014-March/055222.html
Main changes since last pass:
* Added cursor plane support on i915. Unfortunately it isn't possible to
create nice generic helper functions that make use of the legacy API's for
cursor planes as was done for primary planes; the legacy cursor ioctl's take
a driver handle directly (e.g., from GEM) rather than a DRM framebuffer.
With the unified plane support, we receive a DRM framebuffer via the SetPlane
API, but have no way of turning that into a driver handle that can be passed
to the legacy interfaces.
* Updated msm and omapdrm to use their existing "private" planes as primary
rather than using the primary helper functions. (thanks Rob Clark!)
* Fixed several s/crtc->fb/crtc->primary->fb/ conversions that were missed
on the first pass (or new instances that popped up due to rebasing to
the latest code).
I believe some of the next steps are:
* Create some new read-only plane properties that describe in more detail the
capabilities & limitations of various planes (max/min size, scaling
capabilities, tiling restrictions, etc.) so that generic userspace
compositors can make intelligent decisions about how best to use the various
planes on the plane list. If anyone has strong feelings on what these
properties should look like, this would be a good time to start the
discussion.
* Update cursor support for the rest of the non-i915 drivers. I believe the
list of drivers that currently support cursors are: armada, ast, gma500,
mgag200, msm, nouveau, radeon, vmwgfx, and qxl.
* Update imx-drm's CRTC creation to use its existing private primary plane
rather than using the primary helper function to create one.
* Provide patches for weston & xf86-video-modesetting that make use of the
unified plane interface to make real-world testing of this patchset a
bit easier.
Note that the first patch here is simply a build fix for current breakage of
the drm-intel-nightly branch of the drm-intel repo.
Matt Roper (14):
SQUASH! drm/i915: Do not dereference pointers from ring buffer in
evict event
drm: Add support for multiple plane types
drm: Add primary plane helpers
drm/exynos: Restrict plane loops to only operate on overlay planes
drm/i915: Restrict plane loops to only operate on overlay planes
drm: Add plane type property
drm: Specify primary plane at CRTC initialization (v2)
drm: Replace crtc fb with primary plane fb (v2)
drm: Allow userspace to ask for full plane list (universal planes)
drm/i915: Rename similar plane functions to avoid confusion
drm/i915: Intel-specific primary plane handling
drm: Specify cursor plane at CRTC initialization
drm/i915: Split cursor update code from cursor ioctl handling
drm/i915: Add cursor handlers and create cursor at crtc init
drivers/gpu/drm/armada/armada_crtc.c | 4 +-
drivers/gpu/drm/armada/armada_overlay.c | 3 +-
drivers/gpu/drm/ast/ast_mode.c | 16 +-
drivers/gpu/drm/bochs/bochs_kms.c | 8 +-
drivers/gpu/drm/cirrus/cirrus_mode.c | 15 +-
drivers/gpu/drm/drm_crtc.c | 441 +++++++++++++++----
drivers/gpu/drm/drm_crtc_helper.c | 21 +-
drivers/gpu/drm/drm_fb_helper.c | 9 +-
drivers/gpu/drm/drm_ioctl.c | 5 +
drivers/gpu/drm/exynos/exynos_drm_crtc.c | 4 +-
drivers/gpu/drm/exynos/exynos_drm_encoder.c | 6 +
drivers/gpu/drm/exynos/exynos_drm_plane.c | 4 +-
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 | 3 +-
drivers/gpu/drm/gma500/cdv_intel_lvds.c | 2 +-
drivers/gpu/drm/gma500/gma_display.c | 17 +-
drivers/gpu/drm/gma500/mdfld_dsi_output.c | 2 +-
drivers/gpu/drm/gma500/mdfld_intel_display.c | 17 +-
drivers/gpu/drm/gma500/oaktrail_crtc.c | 13 +-
drivers/gpu/drm/gma500/psb_intel_display.c | 7 +-
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_drv.h | 5 +-
drivers/gpu/drm/i915/i915_irq.c | 4 +-
drivers/gpu/drm/i915/i915_trace.h | 2 +-
drivers/gpu/drm/i915/intel_display.c | 623 ++++++++++++++++++++-------
drivers/gpu/drm/i915/intel_dp.c | 5 +-
drivers/gpu/drm/i915/intel_drv.h | 3 +-
drivers/gpu/drm/i915/intel_fbdev.c | 6 +-
drivers/gpu/drm/i915/intel_overlay.c | 4 +-
drivers/gpu/drm/i915/intel_pm.c | 39 +-
drivers/gpu/drm/i915/intel_sprite.c | 2 +-
drivers/gpu/drm/mgag200/mgag200_mode.c | 33 +-
drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 33 +-
drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 4 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 27 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 4 +-
drivers/gpu/drm/nouveau/dispnv04/crtc.c | 24 +-
drivers/gpu/drm/nouveau/dispnv04/dfp.c | 2 +-
drivers/gpu/drm/nouveau/dispnv04/overlay.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_display.c | 8 +-
drivers/gpu/drm/nouveau/nv50_display.c | 21 +-
drivers/gpu/drm/omapdrm/omap_crtc.c | 2 +-
drivers/gpu/drm/omapdrm/omap_plane.c | 4 +-
drivers/gpu/drm/qxl/qxl_display.c | 15 +-
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 | 3 +-
drivers/gpu/drm/radeon/radeon_display.c | 9 +-
drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 16 +-
drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 4 +-
drivers/gpu/drm/rcar-du/rcar_du_plane.c | 3 +-
drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 3 +-
drivers/gpu/drm/shmobile/shmob_drm_plane.c | 2 +-
drivers/gpu/drm/tegra/dc.c | 7 +-
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 4 +-
drivers/gpu/drm/udl/udl_modeset.c | 6 +-
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 14 +-
drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 12 +-
drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 12 +-
drivers/staging/imx-drm/imx-drm-core.c | 4 +-
drivers/staging/imx-drm/ipuv3-plane.c | 4 +-
include/drm/drmP.h | 5 +
include/drm/drm_crtc.h | 115 ++++-
include/uapi/drm/drm.h | 8 +
68 files changed, 1252 insertions(+), 488 deletions(-)
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
--
1.8.5.1
next reply other threads:[~2014-03-19 0:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-19 0:22 Matt Roper [this message]
2014-03-19 0:22 ` [RFCv3 01/14] SQUASH! drm/i915: Do not dereference pointers from ring buffer in evict event Matt Roper
2014-03-19 0:22 ` [RFCv3 05/14] drm/i915: Restrict plane loops to only operate on overlay planes Matt Roper
2014-03-19 0:22 ` [RFCv3 10/14] drm/i915: Rename similar plane functions to avoid confusion Matt Roper
2014-03-19 12:05 ` Daniel Vetter
2014-03-19 0:22 ` [RFCv3 11/14] drm/i915: Intel-specific primary plane handling Matt Roper
2014-03-19 12:11 ` [Intel-gfx] " Daniel Vetter
2014-03-19 14:37 ` Daniel Vetter
2014-03-19 0:22 ` [RFCv3 13/14] drm/i915: Split cursor update code from cursor ioctl handling Matt Roper
2014-03-19 8:03 ` Chris Wilson
2014-03-19 0:22 ` [RFCv3 14/14] drm/i915: Add cursor handlers and create cursor at crtc init Matt Roper
2014-03-19 0:37 ` [RFCv3 00/14] Unified plane support Rob Clark
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=1395188579-17191-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