From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 09/11] drm/i915: Add rotation property for sprites Date: Wed, 18 Jun 2014 15:01:16 +0300 Message-ID: <20140618120115.GP27580@intel.com> References: <1403081847-4364-1-git-send-email-sonika.jindal@intel.com> <1403081847-4364-10-git-send-email-sonika.jindal@intel.com> <20140618111251.GC18833@strange.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B58A6E514 for ; Wed, 18 Jun 2014 05:01:46 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20140618111251.GC18833@strange.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Damien Lespiau Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org 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@intel.com wrote: > > From: Ville Syrj=E4l=E4 > > = > > 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 > > Cc: Jani Nikula > > Cc: David Airlie > > Cc: dri-devel at lists.freedesktop.org > > Cc: linux-kernel at vger.kernel.org > > Signed-off-by: Ville Syrj=E4l=E4 > > --- > > 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/i91= 5_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 =3D plane->dev->dev_private; > > + struct intel_plane *intel_plane =3D to_intel_plane(plane); > > + uint64_t old_val; > > + int ret =3D -ENOENT; > > + > > + if (prop =3D=3D 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=E4l=E4 Intel OTC