On Tue, Feb 13, 2024 at 12:18:16PM +0530, Uma Shankar wrote:
> Add capability property which a colorop can expose it's
> hardware's abilities. It's a blob property that can be
> filled with respective data structures depending on the
> colorop. The user space is expected to read this property
> and program the colorop accordingly.
> 
> Signed-off-by: Uma Shankar <uma.shan...@intel.com>
> Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.bo...@intel.com>
> ---
>  drivers/gpu/drm/drm_atomic_uapi.c |  3 +++
>  include/drm/drm_colorop.h         | 13 +++++++++++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c 
> b/drivers/gpu/drm/drm_atomic_uapi.c
> index 9f6a3a1c8020..95f1df73209c 100644
> --- a/drivers/gpu/drm/drm_atomic_uapi.c
> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
> @@ -770,6 +770,9 @@ drm_atomic_colorop_get_property(struct drm_colorop 
> *colorop,
>               *val = state->curve_1d_type;
>       } else if (property == colorop->data_property) {
>               *val = (state->data) ? state->data->base.id : 0;
> +     } else if (property == colorop->hw_caps_property) {
> +             *val = state->hw_caps ?
> +                     state->hw_caps->base.id : 0;
>       } else {
>               return -EINVAL;
>       }
> diff --git a/include/drm/drm_colorop.h b/include/drm/drm_colorop.h
> index 5b8c36538491..f417e109c40a 100644
> --- a/include/drm/drm_colorop.h
> +++ b/include/drm/drm_colorop.h
> @@ -59,6 +59,12 @@ struct drm_colorop_state {
>        */
>       enum drm_colorop_curve_1d_type curve_1d_type;
>  
> +     /**
> +      * @hw_caps:
> +      *
> +      */
> +     struct drm_property_blob *hw_caps;
> +

Is this supposed to be generic for any colorop or specifically for
DRM_COLOROP_1D_LUT?

>       /**
>        * @data:
>        *
> @@ -167,6 +173,13 @@ struct drm_colorop {
>        */
>       struct drm_property *bypass_property;
>  
> +     /**
> +      * @hwlut_caps_property:
> +      *
> +      * Property to expose hardware lut capbilities.
> +      */
> +     struct drm_property *hw_caps_property;
> +
>       /**
>        * @curve_1d_type:
>        *
> -- 
> 2.42.0
> 

Reply via email to