[PATCH 1/2] drm: support feature masks in drm_core_check_feature()
Jani Nikula
jani.nikula at intel.com
Tue Jan 21 10:53:30 UTC 2020
Allow a mask of features to be passed to drm_core_check_feature(). All
features in the mask are required.
Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
include/drm/drm_drv.h | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
index cf13470810a5..51b486d1ee81 100644
--- a/include/drm/drm_drv.h
+++ b/include/drm/drm_drv.h
@@ -826,16 +826,18 @@ static inline bool drm_dev_is_unplugged(struct drm_device *dev)
/**
* drm_core_check_feature - check driver feature flags
* @dev: DRM device to check
- * @feature: feature flag
+ * @feature: feature flag(s)
*
* This checks @dev for driver features, see &drm_driver.driver_features,
* &drm_device.driver_features, and the various &enum drm_driver_feature flags.
*
- * Returns true if the @feature is supported, false otherwise.
+ * Returns true if all features in the @feature mask are supported, false
+ * otherwise.
*/
-static inline bool drm_core_check_feature(const struct drm_device *dev, u32 feature)
+static inline bool drm_core_check_feature(const struct drm_device *dev, u32 features)
{
- return dev->driver->driver_features & dev->driver_features & feature;
+ return features && (dev->driver->driver_features & dev->driver_features &
+ features) == features;
}
/**
--
2.20.1
More information about the dri-devel
mailing list