mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 09:31:14 +00:00
drm: add drm_core_check_all_features() to check for a mask of features
Add new drm_core_check_all_features() function to check for a mask of features. All features in the mask are required. Redefine existing drm_core_check_feature() in terms of this function, using the drm_driver_feature enum for the parameter. v3: - add drm_core_check_all_features() (Thomas) v2: - fix kernel-doc (Ville) - add an extra variable for clarity (Ville) Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200123124801.14958-1-jani.nikula@intel.com
This commit is contained in:
parent
c6cccafa91
commit
12a1d4e093
1 changed files with 22 additions and 2 deletions
|
@ -823,6 +823,25 @@ static inline bool drm_dev_is_unplugged(struct drm_device *dev)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drm_core_check_all_features - check driver feature flags mask
|
||||||
|
* @dev: DRM device to check
|
||||||
|
* @features: feature flag(s) mask
|
||||||
|
*
|
||||||
|
* 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 all features in the @features mask are supported, false
|
||||||
|
* otherwise.
|
||||||
|
*/
|
||||||
|
static inline bool drm_core_check_all_features(const struct drm_device *dev,
|
||||||
|
u32 features)
|
||||||
|
{
|
||||||
|
u32 supported = dev->driver->driver_features & dev->driver_features;
|
||||||
|
|
||||||
|
return features && (supported & features) == features;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_core_check_feature - check driver feature flags
|
* drm_core_check_feature - check driver feature flags
|
||||||
* @dev: DRM device to check
|
* @dev: DRM device to check
|
||||||
|
@ -833,9 +852,10 @@ static inline bool drm_dev_is_unplugged(struct drm_device *dev)
|
||||||
*
|
*
|
||||||
* Returns true if the @feature is supported, false otherwise.
|
* Returns true if the @feature is 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,
|
||||||
|
enum drm_driver_feature feature)
|
||||||
{
|
{
|
||||||
return dev->driver->driver_features & dev->driver_features & feature;
|
return drm_core_check_all_features(dev, feature);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue