|
Matt,
No, the busy and DRQ wait only happen for a PIO write (and
write multiple), so DMA ca just start the DMA engine and device command and then
wait for an interrupt. I hope this helps.
TTFN, MKE
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matt Henson Sent: Thursday, October 07, 2004 2:02 PM To: [EMAIL PROTECTED] Subject: [t13] DMA Command Protocol question - What does the host need to do after sending Command? Hi, I’m designing an ATA controller with
UDMA support for an embedded SoC. We’ve got all of the PIO mode stuff
working and are adding UDMA. I have hit a bit of a roadblock and would
appreciate some help. I’m looking at ATA-6,
d1410r3. After sending the command (Read DMA
or Write DMA) the Host DMA state diagram seems to require that the host poll the
status register and DMARQ line until: [(BSY=0 & DRQ=1 & DMARQ=1)
or (BSY=1 & DRQ=0 & DMARQ=1)]. Is it really necessary to poll the
status register? Can I just turn it over to my UDMA controller, which will
wait for DMARQ=1 or INTRQ=1? If the host needs to read the status register
when entering state HDMA0 from HI4 then does it also need to do it when entering
HDMA0 from HDMA1 and the command is not yet complete (ie, DMA burst termination
before command completion)? It seems logical that the host would not have
to read the status register until command completion (successful or otherwise)
but perhaps there is more going on than meets my
eye. TIA, Matt
Henson Lead Systems Architect, MP3 product
group SigmaTel,
Inc. 512.381.3934 |
- [t13] DMA Command Protocol question - What does the ho... Matt Henson
- Re: [t13] DMA Command Protocol question - What do... Hale Landis
- Re: [t13] DMA Command Protocol question - Wha... Pat LaVarre
- Re: [t13] DMA Command Protocol question - What do... Jeff Garzik
- RE: [t13] DMA Command Protocol question - What do... Eschmann, Michael K
- RE: [t13] DMA Command Protocol question - What do... Matt Henson
