On Wed, Jun 18, 2014 at 12:12:52PM +0100, Damien Lespiau wrote: > On Wed, Jun 18, 2014 at 02:27:25PM +0530, sonika.jindal@xxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx