|
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 |
- Re: [t13] DMA Command Protocol question - What does th... 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
