From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: [PATCH 1/4] drm: add plane support Date: Fri, 22 Jul 2011 08:30:11 -0700 Message-ID: <20110722083011.73a6fe68@jbarnes-desktop> References: <1308600701-7442-1-git-send-email-jbarnes@virtuousgeek.org> <1308600701-7442-2-git-send-email-jbarnes@virtuousgeek.org> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from oproxy5-pub.bluehost.com (oproxy5-pub.bluehost.com [67.222.38.55]) by gabe.freedesktop.org (Postfix) with SMTP id B68BD9E7F8 for ; Fri, 22 Jul 2011 08:30:18 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Rob Clark Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org On Fri, 22 Jul 2011 08:52:52 -0500 Rob Clark wrote: > On Mon, Jun 20, 2011 at 3:11 PM, Jesse Barnes = wrote: > > =A0/** > > + * drm_plane_funcs - driver plane control functions > > + * @update_plane: update the plane configuration > > + */ > > +struct drm_plane_funcs { > > + =A0 =A0 =A0 int (*update_plane)(struct drm_plane *plane, > > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 struct drm_crtc *= crtc, struct drm_framebuffer *fb, > > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 int crtc_x, int c= rtc_y, > > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 unsigned int crtc= _w, unsigned int crtc_h, > > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 uint32_t src_x, u= int32_t src_y, > > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 uint32_t src_w, u= int32_t src_h); > > + =A0 =A0 =A0 void (*disable_plane)(struct drm_plane *plane); > > +}; > > + > = > = > would it freak anyone out too much to ask about multi-planar formats? > Ie. say you have an overlay that could display I420 w/ separate Y, U, > & V addresses or NV12 w/ separate Y and UV addresses. Some of the > SoC's out there require that chroma and luma is in different memory > banks. In omap4xxx case we don't have this requirement, but we do > have different tiling for Y and UV (NV12). > = > Not something that directly affects this patchset.. I'm thinking more > along the lines of having a way to create a drm_framebuffer w/ more > than one GEM buffer, one per color plane. The other option is to bury > this all behind a single GEM buffer.. although that seems like it > could get ugly/hacky. > = > Am I opening a can of worms here? ;-) Yes. :) Given the format constraints for planar, multi-buffer configs, it might be best to expose those as driver specific ioctls. It's a big ugly to have a driver specific addfb (only because we don't have one currently) but should be doable for funkier things like this. -- = Jesse Barnes, Intel Open Source Technology Center