Hi -

I've got a problem with the SPARC DBRI driver I'm (still) developing.

Basically, I've got two test machines, and it works on one but not
the other.  The one it works on is an LX, and the one it doesn't work
on is a Sparcstation 20 (4m, dual CPUs, dual DMAs).

My problem occurs early, during initialization.  I put some commands
for the chip in a command buffer (alloc'ed with sparc_dvma_malloc),
and a function call and a few instructions later, they don't seem
to be there anymore (replaced with zeros).  The chip acts like it
doesn't see them either.

If I put a lot of debugging printk's into the code just before the
problem occurs, it disappears.  I've only seen it with most debugging
turned off.  KGDB shows similar bizarreness; I can breakpoint just
after the command buffer has been written, and it looks OK.  Then
I "istep" and voila - the buffer is all zeros!

Even though it's an SMP machine (and the code isn't SMP-safe),
the kernel is compiled for single processor, so that shouldn't
make a difference, right?  I'm more concerned about the dual DMA,
since I've seen comments in sunlance.c to the effect that on a 4M,
strange things happen involving the DVMA addresses, and I don't
understand enough to know if this affects me (the chip does its
own DMA).

Any suggestions?
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of the message to [EMAIL PROTECTED]

Reply via email to