[RFCv3 00/14] Unified plane support

Matt Roper matthew.d.roper at intel.com
Tue Mar 18 17:22:45 PDT 2014


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


More information about the dri-devel mailing list

AltStyle によって変換されたページ (->オリジナル) /