Hi,
> > On my system, libggi does an endless loop in
> > mga_waitidle() (degas/lib/libggi/default/fbdev/mga/2164w/mmio.h), because
> > reading the status register apparently always returns 0xffffffff.
>
> To me it looks like it in deed reads the wrong reg, but it might also
> be that the access is being cached or some wuch. I have seen that on alpha
> there are barrier calls to keep sequencing ...
Good idea, but explicitly adding those operations doesn't change its
behaviour.
> > The mmio address is reported as 0x20000026000, which is somewhat different
> > from the 0x42810000 reported by X (are both of these addresses mapped to
> > the same physical address, or is something going wrong here?).
>
> Hmm - that might be. The /proc filesystems contains the maps. check if they
> both map to the same physical address.
This is interesting- X has 0x...80042810000 mmapped, while libggi uses
0x...00042810000. The 0x80000000000 extra is the bias for the Irongate
controller (include/asm-alpha/core_irongate.h), but only if
USE_48_BIT_KSEG is defined in the kernel, which isn't the case here
(therefore, the bias should be 0x10000000000, which is rather weird...)
> > Is there a way to switch off MGA accelleration for the fbdev target?
>
> Yes, that should be as simple as editing /usr/local/etc/ggi/targets/fbdev.conf
> and commenting out
Thanks! Looks like matroxfb is broken, though; GGI input management works,
but I can't get anything to display correctly (not even fbi or fbgs, only
fbtv seems to work). When starting a demo, the graphics mode is changed
appropriately, but the contents of the frame buffer don't change.
I'll try it again with a development kernel (once I find one that actually
compiles on the Alpha...)
llap,
Christoph