Re: [PATCH 2/5] drm: sti: add atomic get/set properties for planes

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

 



On Thu, Jan 07, 2016 at 02:30:38PM +0100, Benjamin Gaignard wrote:
> Without those function zpos property isn't displayed in atomic mode.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx>

Oh, another iteration of a driver-private zpos property. This _really_
should be generic, with some consistent cross-driver semantics. Marek from
samsung has started with a patch series for that.

Can you please work together with him, and rebase the sti zpos support on
top of his work? And hold of this patch for now meanwhile?

Also adding Marek.

Thanks, Daniel

> ---
>  drivers/gpu/drm/sti/sti_plane.c | 40 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
> 
> diff --git a/drivers/gpu/drm/sti/sti_plane.c b/drivers/gpu/drm/sti/sti_plane.c
> index 2e5c751..e739c5a 100644
> --- a/drivers/gpu/drm/sti/sti_plane.c
> +++ b/drivers/gpu/drm/sti/sti_plane.c
> @@ -69,6 +69,44 @@ static int sti_plane_set_property(struct drm_plane *drm_plane,
>  	return -EINVAL;
>  }
>  
> +static int sti_plane_atomic_set_property(struct drm_plane *drm_plane,
> +					 struct drm_plane_state *state,
> +					 struct drm_property *property,
> +					 uint64_t val)
> +{
> +	struct drm_device *dev = drm_plane->dev;
> +	struct sti_private *private = dev->dev_private;
> +	struct sti_plane *plane = to_sti_plane(drm_plane);
> +
> +	DRM_DEBUG_DRIVER("\n");
> +
> +	if (property == private->plane_zorder_property) {
> +		plane->zorder = val;
> +		return 0;
> +	}
> +
> +	return -EINVAL;
> +}
> +
> +static int sti_plane_atomic_get_property(struct drm_plane *drm_plane,
> +					 const struct drm_plane_state *state,
> +					 struct drm_property *property,
> +					 uint64_t *val)
> +{
> +	struct drm_device *dev = drm_plane->dev;
> +	struct sti_private *private = dev->dev_private;
> +	struct sti_plane *plane = to_sti_plane(drm_plane);
> +
> +	DRM_DEBUG_DRIVER("\n");
> +
> +	if (property == private->plane_zorder_property) {
> +		*val = plane->zorder;
> +		return 0;
> +	}
> +
> +	return -EINVAL;
> +}
> +
>  static void sti_plane_attach_zorder_property(struct drm_plane *drm_plane)
>  {
>  	struct drm_device *dev = drm_plane->dev;
> @@ -116,4 +154,6 @@ struct drm_plane_funcs sti_plane_helpers_funcs = {
>  	.reset = drm_atomic_helper_plane_reset,
>  	.atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state,
>  	.atomic_destroy_state = drm_atomic_helper_plane_destroy_state,
> +	.atomic_set_property = sti_plane_atomic_set_property,
> +	.atomic_get_property = sti_plane_atomic_get_property,
>  };
> -- 
> 1.9.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://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