Re: [PATCH v2 1/2] drm: support feature masks in drm_core_check_feature()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jani

Am 22.01.20 um 15:02 schrieb Jani Nikula:
> Allow a mask of features to be passed to drm_core_check_feature(). All
> features in the mask are required.
> 
> v2:
> - fix kernel-doc (Ville)
> - add an extra variable for clarity (Ville)
> 
> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
> ---
>  include/drm/drm_drv.h | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
> index cf13470810a5..f18e19f3f2d0 100644
> --- a/include/drm/drm_drv.h
> +++ b/include/drm/drm_drv.h
> @@ -826,16 +826,20 @@ 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
> + * @features: 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 @features 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)

It's misnamed now. I'd add a new function, say
drm_core_check_all_features(), which makes the purpose clear.

Best regards
Thomas

>  {
> -	return dev->driver->driver_features & dev->driver_features & feature;
> +	u32 supported = dev->driver->driver_features & dev->driver_features;
> +
> +	return features && (supported & features) == features;
>  }
>  
>  /**
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux