On Wed, Jun 18, 2014 at 12:12:52PM +0100, Damien Lespiau wrote:
> On Wed, Jun 18, 2014 at 02:27:25PM +0530, sonika.jin...@intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> > Sprite planes support 180 degree rotation. The lower layers are now in
> > place, so hook in the standard rotation property to expose the feature
> > to the users.
> > 
> > Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> > Cc: Jani Nikula <jani.nikula at linux.intel.com>
> > Cc: David Airlie <airlied at linux.ie>
> > Cc: dri-devel at lists.freedesktop.org
> > Cc: linux-kernel at vger.kernel.org
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_drv.h     |    1 +
> >  drivers/gpu/drm/i915/intel_sprite.c |   42 
> > ++++++++++++++++++++++++++++++++++-
> >  2 files changed, 42 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h 
> > b/drivers/gpu/drm/i915/i915_drv.h
> > index 0640071..b56a1a5 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1514,6 +1514,7 @@ struct drm_i915_private {
> >  
> >     struct drm_property *broadcast_rgb_property;
> >     struct drm_property *force_audio_property;
> > +   struct drm_property *rotation_property;
> >  
> >     uint32_t hw_context_size;
> >     struct list_head context_list;
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
> > b/drivers/gpu/drm/i915/intel_sprite.c
> > index cbad738..b9af256 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -1202,6 +1202,30 @@ out_unlock:
> >     return ret;
> >  }
> >  
> > +static int intel_plane_set_property(struct drm_plane *plane,
> > +                               struct drm_property *prop,
> > +                               uint64_t val)
> > +{
> > +   struct drm_i915_private *dev_priv = plane->dev->dev_private;
> > +   struct intel_plane *intel_plane = to_intel_plane(plane);
> > +   uint64_t old_val;
> > +   int ret = -ENOENT;
> > +
> > +   if (prop == dev_priv->rotation_property) {
> 
> Shouldn't we add a:
>       
>               if (val & (BIT(DRM_ROTATE_0) | BIT(DRM_ROTATE_180)))
>                       return -EINVAL;
> 
> To ensure userspace doesn't send garbage in the upper bits so we can
> reuse them down the road?

drm_property_change_is_valid() should already check that no unsupported
bits can escape into the driver.

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to