[PATCH 0/4] RFC: drm: Allow driver-specific ioctls to be registered

Chris Wilson chris at chris-wilson.co.uk
Mon Sep 4 15:26:02 UTC 2017


Quoting Marius Vlad (2017-09-04 16:16:41)
> From: Marius Vlad <marius.vlad0 at gmail.com>
> 
> Currently driver-specific ioctls have to be declared static and are confined to
> DRM core driver. This patch series provides the means to remove those constrains
> and allow to register driver-specific ioctls dynamically by keeping a list of
> registered ioctls in struct drm_driver, then each component of the driver can
> then register its own specific ioctls using this interface.
> 
> The driver must assign ioctl_register/ioctl_deregister in
> its drm_driver structure in order to make use of it. 
> 
> While SoC drivers benefit the most from this approach (by not polluting DRM core
> driver and allowing sub drivers to implement and register driver-specific 
> ioctls dynamically), further patches shows how easy is to convert drm/i915 to 
> this approach by registering GEM and perf ioctls separately.

Why?

You do not have to use drm_ioctl directly... Avoiding it would reduce
our ioctl overhead considerably, for example reducing busy_ioctl from
around 110ns to around 45ns.
-Chris


More information about the dri-devel mailing list