[RFC 00/12] Support render-node only drivers
Thierry Reding
thierry.reding at gmail.com
Thu Feb 20 23:55:16 PST 2014
From: Thierry Reding <treding at nvidia.com>
This series builds on top of David's reliable DRM minor series:
[PATCH 00/13] DRM Reliable Minor-IDs
Tegra K1 has a Kepler-type GPU without any display engine. Instead it
reuses the Tegra display engine. That means that effectively the GPU
becomes a render-node only device. In order to reflect that, it would
be preferable for the associated /dev/dri/cardX node not to show up.
To achieve that, the DRIVER_MODESET feature needs to be removed from
the GPU driver, but that unfortunately implies activating a bunch of
legacy behaviour for pre-KMS drivers. To allow for drivers that don't
support modesetting IOCTLs (because they drive no output) but which
aren't legacy either, the meaning of the DRIVER_MODESET needs to be
redefined.
This series attempts to do so by first renaming DRM_MINOR_LEGACY to
DRM_MINOR_PRIMARY to more accurately reflect its purpose. Legacy and
modesetting are then decoupled by introducing a DRIVER_LEGACY driver
feature that can be set by truly legacy drivers. This allows the old
DRIVER_MODESET feature to advertise support only for modesetting
functionality, without implying that it is a non-legacy driver.
After all the drivers have been updated, the core can be modified to
create the primary minor only when DRIVER_MODESET is available.
The remainder of the series cleans up some drm_core_check_feature()
usage and drop some unused code related to that.
Thierry
Thierry Reding (12):
drm: Rename DRM_MINOR_LEGACY to DRM_MINOR_PRIMARY
drm: Introduce DRIVER_LEGACY feature
drm/i915: Mark as legacy if KMS is disabled
drm: Separate DRIVER_MODESET and DRIVER_LEGACY
drm: Create primary minor only if mode-setting is supported
drm: Remove gratuituous blank line
drm: Use drm_core_check_feature() where possible
drm/exynos: Remove dead code
drm/gma500: Remove dead code
drm/i810: Remove dead code
drm/i915: Remove dead code
drm/qxl: Remove dead code
drivers/gpu/drm/drm_bufs.c | 12 +++++------
drivers/gpu/drm/drm_crtc.c | 1 -
drivers/gpu/drm/drm_dma.c | 4 ++--
drivers/gpu/drm/drm_fops.c | 14 ++++++------
drivers/gpu/drm/drm_gem.c | 6 +++---
drivers/gpu/drm/drm_irq.c | 12 +++++------
drivers/gpu/drm/drm_pci.c | 12 +++++------
drivers/gpu/drm/drm_scatter.c | 6 +++---
drivers/gpu/drm/drm_stub.c | 24 +++++++++++----------
drivers/gpu/drm/drm_sysfs.c | 8 +++----
drivers/gpu/drm/exynos/exynos_drm_gem.c | 10 ---------
drivers/gpu/drm/gma500/gem.c | 3 ---
drivers/gpu/drm/i810/i810_dma.c | 7 ------
drivers/gpu/drm/i810/i810_drv.c | 3 ++-
drivers/gpu/drm/i915/i915_dma.c | 38 ++++++++++++++++-----------------
drivers/gpu/drm/i915/i915_drv.c | 18 ++++++++++------
drivers/gpu/drm/i915/i915_gem.c | 17 +++++++--------
drivers/gpu/drm/i915/i915_gem_context.c | 6 ------
drivers/gpu/drm/i915/i915_irq.c | 6 +++---
drivers/gpu/drm/i915/i915_suspend.c | 15 ++++++-------
drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +-
drivers/gpu/drm/mga/mga_drv.c | 3 ++-
drivers/gpu/drm/qxl/qxl_kms.c | 4 ----
drivers/gpu/drm/radeon/radeon_drv.c | 3 ++-
drivers/gpu/drm/savage/savage_drv.c | 2 +-
drivers/gpu/drm/sis/sis_drv.c | 2 +-
drivers/gpu/drm/tdfx/tdfx_drv.c | 1 +
drivers/gpu/drm/via/via_drv.c | 2 +-
include/drm/drmP.h | 3 ++-
29 files changed, 112 insertions(+), 132 deletions(-)
--
1.8.4.2
More information about the dri-devel
mailing list