Oh... I forgot to mention something.

I traced DMA command execution and the following is what happens.

1. host setups DMA engine (programs BMDMA controller)
2. host issues PACKET
3. device sets BSY
4. host transfers CDB when BSY clears and DRQ sets (Status turns to 0xd0)
5. host activates BMDMA engine
6. device reports 0xd0 for all TF regs for short moment and then it
   clears BSY and sets DRQ and other regs.
7. nothing happens for quite long time (>10s)
8. after a while, device seems to give up and clears DRQ and sets
   DRDY.
9. BMDMA status is 0x21 and doesn't change.
10. after a while, timeout occurrs.

I cleared the buffer before issuing commnad and checked whether DMA
engine delievered anything from EH.  It transfered nothing.  It looks
like for some reason the BMDMA engine is losing its chance to start.

Thanks.

-- 
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to