On Monday 13 September 2010 06:46:00 pm Cyril Chemparathy wrote:
> Hi Caglar,
>
> [...]
>
> > Assuming that the DMA got stuck at some point leading up to the transmit
> > timeout, any ideas as to why a host error was not thrown? To help
> > debug, I'll post out a set of patches that dump out the MAC (and DMA)
> > registers on timeout. That should give us some visibility into the
> > problem.
>
> I have posted a couple of additional patches for this on [1]. Would you
> mind giving these a quick try? The register dumps should prove useful
> in figuring this out.
>
Hi Cyril,
I'm having problems with suspend/resume with emac driver on dm6446. I thought
you might give an idea about the root cause of the problem.
After a successful suspend/resume, emac driver does not work as expected. When
I issue 'ifdown eth0 down' on my machine, dm6446 locks-up forever in
'cpdma_chan_stop' in this loop:
while (time_before(jiffies, timeout)) {
u32 cp = chan_read(chan, cp);
if ((cp & CPDMA_TEARDOWN_VALUE) == CPDMA_TEARDOWN_VALUE)
break;
cpu_relax();
}
'cp' is never being CPDMA_TEARDOWN_VALUE so loop never ends. Do you have any
idea why suspend/resume causing such behavior?
BTW, old driver is not working as well. This is not a problem introduced by
your patch.
Best Regards,
Caglar
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source