[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#420738: glint driver big-endian issue with xorg 7.1



Package: xserver-xorg-video-glint
Version: 1:1.1.1-3
Architecture: SPARC (maybe also PPC, but not verified)

System configuration:
Sun Ultra60 with Raptor GFX graphic card (Permedia2v chipset)
running etch with a 2.6.20 kernel.
The problem is also present in older "testing" version, starting from Xorg 
7.0.

Problem:
The Xserver hangs or crashes when loading the driver.
As from the logfile, the card is wrongly detected, e.g. 4MB video ram instead 
of 8MB.

Reason:
The driver correctly writes to the big-endian registers of the card, but the 
MMIO_xxxx functions do a byte-swap by default on this architecture, ending up 
in a wrong byte-order. For reference, see "compiler.h" from the "xorg-server" 
source.

Solution:
Define "SPARC_MMIO_IS_BE" for compiling the glint driver.
E.g., by:
# CFLAGS="-O2 -DSPARC_MMIO_IS_BE" ./configure
(maybe on PPC_MMIO_IS_BE has to be defined on PPC architecture)

I suggest setting these defines in the source code in "config.h".



Reply to: