Subject: Re: X ATI driver not quite right
To: Julian Coleman <jdc@coris.org.uk>
From: Michael <macallan1888@gmail.com>
List: port-sparc64
Date: 07/27/2006 14:32:37
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

> I tried to run X on a Blade 100.  The ATI driver doesn't get things 
> quite
> right - the actual horizontal and vertical rates are roughly 206% [*] 
> of
> the printed rates.  I guess the problem is caused because the kernel 
> machfb
> driver says:
>
>   machfb0 at pci0 dev 19 function 0: ATI Technologies Rage XL (rev. 
> 0x27)
>   machfb0: 16 MB aperture at 0x03000000, 4 KB registers at 0x00426000
>   machfb0: ref_freq=29.498MHz
>   machfb0: 8188 KB SDRAM 114.765 MHz, maximum RAMDAC clock 230 MHz
>   mach64_get_mode: 1280 5440 5552 1688 1024 1025 1060 1066
>   machfb0: initial resolution 1280x1024 at 8 bpp
>   machfb0: attached to /dev/fb0
>
> while the X server says:
>
>   (II) ATI(0): BIOS Data:  BIOSSize=0x0000, ROMTable=0x0000.
>   (II) ATI(0): BIOS Data:  ClockTable=0x0000, FrequencyTable=0x0000.
>   (II) ATI(0): BIOS Data:  LCDTable=0x0000, LCDPanelInfo=0x0000.
>   (II) ATI(0): BIOS Data:  VideoTable=0x0000, HardwareTable=0x0000.
>   (II) ATI(0): BIOS Data:  I2CType=0x00, Tuner=0x00, Decoder=0x00, 
> Audio=0x0F.
>     ...
>   (--) ATI(0): Reference clock 157.5/11 (14.318) MHz.
>
> The 157.5/11 appears to be the default when it is unable to read the
> ClockTable from the BIOS Data (I guess that this is correct for the 
> cards
> in the U5 and U10).  There also looks to be a "reference_clock" option
> but it doesn't appear to be used.
>
> So, what is the best way of fixing this?  I think either the X ATI 
> driver
> could be fixed to correctly read the values on sparc64 or it could 
> query
> the mach64 kernel driver for them.

According to the people who wrote the mach64 part of XFree's ati driver 
it's more or less impossible to detect the reference clock frequency. 
Machfb has a table of known chips and their reference clocks if I 
remember correctly.
XFree's driver has an option to set the reference clock frequency in 
XF86Config, just set it to 29.498MHz and see what happens.

have fun
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iQEVAwUBRMkGxcpnzkX8Yg2nAQJMmQf/fpmhMG3z+j1SD6KTmHrVri/R+o56vzA3
NhDWXj1Ml05O4BcNmEuBtP2xe62yZn4EK+2Fs0E13e+LuP6W9UJKrgKMXDa0KRdQ
/161+OqSJrmeLziHsLTEu2AwzruGo7T4UFw6nVwv3BXzfmAIeMPMFhzungDGrQCj
D4moIFxSxhfyLm03EI/DrR34qMAxfyP2Gqjr//gSuOPqutna4fBX00Yy9c7AcmfV
/aM337/bPaDVgDXedXszVyeRUo7NphzmDfcOWTaszlc6CIvjn3blbDgU96isW335
ltrLZaI9bV9Yu80jUubWmcb1CZq290AYAisn6jAH0N4rrs1xrxkNMA==
=ushu
-----END PGP SIGNATURE-----