Re: Re: fbdev cursor part 1.

From
Geert Uytterhoeven <geert@linux-m68k.org>
Date
2004-02-23 12:52:36
Reply to
Benjamin Herrenschmidt, 2004-02-23
On Mon, 23 Feb 2004, Benjamin Herrenschmidt wrote:
quoted
IIRC, there's a big difference between the number of commands you can queue up
in the RAGE PRO and earlier chip. Perhaps the queue check always assumes a RAGE
PRO?

Hope this helps... (No, I didn't look at the code)
The queue check looks for how many entries are free in the queue
by reading the appropriate register in the chip, I should double
check the specs to see if that's done correctly though (or compare
with X, though I do see some artifacts in X here or there, small
but small drawing errors that let me think that X driver isn't
perfect neither. At least it doesn't lockup).

Here's the code in atyfb:

static inline void wait_for_fifo(u16 entries, const struct atyfb_par *par)
{
	while ((aty_ld_le32(FIFO_STAT, par) & 0xffff) >
	       ((u32) (0x8000 >> entries)));
}
That's OK, as long as entries <= 15.

Using this register you cannot check for more than 15. There's another register
for that, and the difference between PRO and older is in that second register.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
Thread (17 messages) 17 messages, 5 authors, last reply 2004-03-11
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help