[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-arm-kernel
Subject:    Re: ixp425 in-bound DMA problem [Solved!]
From:       Pedro Sanchez <psanchez () nortelnetworks ! com>
Date:       2003-11-26 14:35:36
[Download RAW message or body]

On Tue, 2003-11-25 at 20:20, Deepak Saxena wrote:
> The fact that is not master capable should not impact it being able
> to respond as a target.  What's the value of the PADE0 bit in the
> PCI_DMACTRL register?  My guess is that it is also 1, which means
> that for some reason the target device is not responding properly 
> to the address. If it's a master abort, the master abort handler
> in ixp425-pci.c will also be called, so you can add some debug code
> to that function in there. If that's not being called, then you 
> know it's either a TRDY timeout or a retry timeout.
> 
> ~Deepak
Yes, PADE0 is 1 as well. I followed your hint on using ixp425-pci.c to
trace the problem and the conclusion was a TRDY timeout. This has been
fixed already and I can now successfully do DMA transfers both ways.

I don't have a clear explanation on why it works well on the diagnostic
code. The only difference is that in the diagnostic code I do a DMA
transaction at a time, one way or another, waiting for each transaction
to finish first. In the kernel module both transactions are fired one
after the other so they both share the bus.

Anyway, it is working now. Thank you all very much for your help.

-- 
Pedro Sanchez



-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ/Etiquette:       http://www.arm.linux.org.uk/armlinux/mailinglists.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic