[PATCH] Add support for RENDER BGRA formats.

Mark Kettenis mark.kettenis at xs4all.nl
Sat Oct 31 08:17:02 PDT 2009

> From: Adam Jackson <ajax at nwnk.net>
> Date: Thu, 29 Oct 2009 18:33:20 -0400
> > To make the card work properly I still have to solve two issues:
> >=20
> > 1. It seems the ACNTRL register doesn't exist on the i128v2 chip.
> >    Writes to this register result in a PCI bus error.  This was
> >    probably never noticed, since on standard PC hardware writes to
> >    non-existent registers silently fail.  Do the docs contain some
> >    hints suggesting this is indeed the case?
> Kind of?  It's the alpha blender setup register, and described as "the
> Imagine 3 blending unit", which sort of implies it didn't exist on
> Imagine 2.  I'm pretty sure Imagine 1 and 2 didn't even have a triangle
> unit, let alone an alpha blender.

Enough evidence for me to assume that register should not be written
to on the i128 and i128v2.  I'll generate a diff to implement this.

> > 2. Does the hardware by any chance map the VGA legacy I/O ports within
> >    one of its BARs?
> It might.  BAR 5 is the I/O map, and it's 256 bytes.  They're all
> defined right up to 0xBC, which smells a little suspicious since the VGA
> ports it claims to decode are 3C[0-5ACEF] and 3[BD][45A].  So while it
> doesn't _say_ the VGA ports are aliased there starting at 0xC0, I'd be
> utterly unsurprised.
> I guess I don't see how it matters though, you can already get to the
> colormap and mode, and you won't be using VGA fonts.  (Unless you do VGA
> console even on non-x86 machines?  That would be vile.)

You're right of course.  I already disabled the VGA font save/restore
because that required mapping the legacy VGA memory area and on the
Sun Blade 1000 that I stuck this card in, that area is in use by other

Still struggling a bit with how to map BAR 5 though.  I have a hack to
make things work, but I'll need to discuss the implications for the
OpenBSD kernel and libpciaccess.



More information about the xorg-devel mailing list