[PATCH] Automatically determine appropriate pipe from plane info

Michel Dänzer michel at tungstengraphics.com
Wed Sep 12 02:04:35 PDT 2007

On Wed, 2007-09-12 at 01:56 -0700, Jesse Barnes wrote:
> On Tuesday, September 11, 2007, Roland Scheidegger wrote:
> > On 9/12/07, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> > > Rather than keeping a copy of the plane->pipe mapping code in the
> > > SAREA, just figure out what the real mapping is from the
> > > DSP(A|B)CNTR register at runtime.  This should be fairly safe since
> > > the DRM doesn't actually modify the pipe->plane mappings, though
> > > there is the possibility for app confusion if the DDX changes the
> > > mappings between a vblank swap submission and completion.
> >
> > Wouldn't it be simpler (if you don't want that information to be in
> > the sarea) to just set the mapping with a setparam ioctl rather than
> > trying to be smart and needing to figure it out every vblank?
> An ioctl would have the same compatibility problem as an SAREA addition, 
> since the server would have to ioctl the plane->pipe mapping info.  
> This way we get forward and backward compatibility.

So you would with the setparam ioctl - both sides can tell by the ioctl
not working / not being called whether the other side is new or old. But
I agree that reading another register there shouldn't hurt too much and
solves the problem nicely.

Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer

More information about the xorg mailing list