Quoting Ville Syrjala (2018-09-13 14:16:21) > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> The gradual transition makes sense (less work!), as does being able to deselect features on individual devices. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel