Michel,

On 1/12/07, Michel Dänzer <michel@tungstengraphics.com> wrote:


> 4) Is there a simple command that I can issue to the CP to clear the
> screen JUST to see if it is issuing any commands from the ring buffer
> at all?

You could do something along the lines of radeon_test_writeback: write
to a scratch register via the CP and verify by reading the register
directly. Actually, doing something like that from radeon_do_init_cp and
returning an error if it fails might generally help to handle CP
initialization issues more gracefully.

Do you have any idea what that command stream would look like?

Is it something like this:

BEGIN_RING(2);
OUT_RING( CP_PACKET0( RADEON_SCRATCH_REG5, 0 ) );        \
OUT_RING( 0xDEADBEEF);                           \
ADVANCE_RING()
COMMIT_RING()
 
> 1) The fglrx driver never sets the (RADEON_CP_RB_RPTR_ADDR) register.
> If I read the register back when fglrx is running, it is set to "0".
>
> What does that register indicate?

You can ignore scratch register writeback for now. You may want to load
the radeon kernel module with no_wb=1 though to prevent the unlikely
event that it intervenes with anything.

Ok.  I'll try that.
...
BTW. I have some code (based on bitfield) which automatically decodes the register traces from libsegfault, and gives me the names of the regs and the fields.  It makes reading the trace much easier.

Is there some place I can put that on the freedesktop servers?

Cheers & Thanks for the answers,
--Phil