[PATCH] Radeon driver fixes #4

Benjamin Herrenschmidt benh at kernel.crashing.org
Sun Nov 28 13:01:56 PST 2004


> For me (snowwhite ibook 2.2), its not so robust, but it still works:) I
> noticed that the kernel radeonfb driver disables interrupts when
> determining xtal. I think X can't do this and as a result the xtal ends up
> much lower on my machine. It defaults then to 27 MHz, which is ok for my
> M7, but couldn't the tollerance be increased (check if it is higher than
> 26.5 instead of 26.9)? Otherwise, there are perhaps ways to get more
> realtime performance on linux?

Did you have a failure ?

> Secondly, mclk and sclk are set to 90 Mhz, while the kernel says they are
> at 180 Mhz. Both values seem to work, even 200 mhz works, but is this
> correct?

It's a complicated story. The kernel reads them from OF ATY,MCLK and
ATY,SCLK. XFree from the registers. It seems that OF sets the MPLL and
SPLL to 180Mhz (in your case, the actual value depends on the model) but
then, set the clock sources to be MCLK=MPLL/2 and SCLK=SPLL/2

I don't know who is wrong or right here ... it may be that OF doesn't
set the card full speed and thus we are underclocked in linux, but it's
difficult to say for sure.

> Lastly, ValidateFPModes is only called when ddcmodes <=1. Why is this?
> 
> For me, the edid on my panel is a bit sparse in info. It says it supports
> only 1 vesa mode (1024x768 at 60) and 1 manufacturer mode (which is almost
> identical to the vesa mode). It also doesn't give any supported
> frequency range. So I have 2 1024x768 modes available but no others, and
> with 2 ValidateFPModes is never called. I'm not sure why it is called when
> you only have 1 ddcmode, is it common for panels to put only the best mode
> in EDID because the RMX can scale this mode?

I don't know, that was there in the driver already, I suspect it's bogus
but I have to work on it.

> My card is perfectly capable of scaling the screen to all vesamodes. I
> tried to copy the part of RADEONValidateFPmodes (where it adds all smaller
> vesa modes) into ValidateDCCModes, and can now use xrandr to rescale my
> display. Would there be a problem if ValidateDCCModes was patched to allow
> this? Or just to always call ValidateFPModes with a panel?

I think the fix would be to remove that "modesFound" test thing ...

Ben.





More information about the xorg mailing list