[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