[RFC 00/12] Support render-node only drivers
David Herrmann
dh.herrmann at gmail.com
Mon Feb 24 02:43:05 PST 2014
Hi
On Fri, Feb 21, 2014 at 8:55 AM, Thierry Reding
<thierry.reding at gmail.com> wrote:
> 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.
The series looks fine to me. Apart from "drm: Separate DRIVER_MODESET
and DRIVER_LEGACY" (and with Ilja's comment on 04/12):
Reviewed-by: David Herrmann <dh.herrmann at gmail.com>
Regarding the DRIVER_ flag splitting, I haven't really checked whether
you caught all places. The patch looks correct, though. I might have
some time this week for a closer look.
Thanks
David
> 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