Jacek Rosik wrote:
Hi!

I've been working on adding stereo support for radeon/r200 driver
recently. I have several questions mainly about kernel side and
interrupts.

1) About CP. As I understand it it's some kind of queue for commands.
So, is there such posibility that if I write some value into register
using it and after that another value is written using RADEON_WRITE the
second value will be overwritten by first one? Is it flushed on context
change? For example when server grabs a lock after client.

If you want to write registers in the hardware while the CP is active, it's typically necessary to use CP commands to do so. However, it does depend which register you are talking about.


2) Can I block radeon interrupt (swi and vbl) and if so how can I do it?
What I mean is to block them for a while and not to loose any.

It is possible to block interrupts in the kernel, but generally it's discouraged. I certainly don't see why you'd need to do that to support stereo.


3)Is touching SAREA from interrupt handler (radeon_dma_service) a bad
idea?

Yes - the SAREA is protected by the hardware lock. You have to grab the lock before you touch it and you can't do that from an interrupt handler.


4)Is touching the RING from interrupt handler a bad idea?

Yes, for the reasons above.


Keith



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to