[PATCH 1/2] drm: Introduce per-device driver_features

Chris Wilson chris at chris-wilson.co.uk
Thu Sep 13 13:27:14 UTC 2018

Quoting Ville Syrjala (2018-09-13 14:16:21)
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> We wish to control certain driver_features flags on a per-device basis
> while still sharing a single drm_driver instance across all the
> devices. To that end introduce device.driver_features. By default
> it will be set to ~0 to not impose any limits beyond
> driver.driver_features. Drivers can then clear specific flags
> in the per-device bitmask to limit the capabilities of the device.
> An alternative approach would be to copy the driver_features from
> the driver into the device in drm_dev_init(), however that would
> require verifying that no driver is currently changing
> driver.driver_features after drm_dev_init(). Hence the ~0 apporach
> was easier.
> Ideally we'd also make drm_driver const but there is plenty of code
> left that wants to mutate it (eg. various vfunc assignments). We'll
> need to fix all that up before we can make it const.
> And while at it fix up the type of the feature flag passed to
> drm_core_check_feature().
> v2: Streamline the && vs. & (Chris)
>     s/int/u32/ in drm_core_check_feature() args
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

The gradual transition makes sense (less work!), as does being able to
deselect features on individual devices.
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

More information about the dri-devel mailing list