This message is from the T13 list server.

I am going to give up on trying to get any kind of reliable
indication of how much data has been transferred by a host DMA
engine.  It is clear to me that many of you can not see the
difference between status that says "the DMA engine is active"
and status that says how much data has been transferred by that
DMA engine.  I can only assume you must have the same problem
with those car fuel tank idiot lights and fuel tank gauges.  The
light tells you if the tank is not empty or if it is empty (the
DMA engine is not active or it is active).  The gauge tells you
how much fuel is in the tank (how much data has been transferred
by the DMA engine).  If you want to build toy computers then
don't provide the the "how much" status and continue to think
that an "active" bit is all the host needs to determine how much
of the host I/O buffer data has been used.

But I will respond to a few specific comments...

===

On Wed, 13 Feb 2002 08:01:35 -0800, Eschmann, Michael K wrote:
>When you first started this thread you said you wanted a simple state
>machine that says something started moving, versus DMA PRD count hit, and
>DMA PRD count exceeded?  Adding a "something moved" indicator really doesn't
>do what you are now saying, which is how much.

I have tried for years to get host DMA engine to return the
actual number of bytes transferred.  But I have never been able
to talk any host adapter designer into implementing the needed
counter.  So I am willing to live with something less (those XY
bits I proposed).  But it is clear that many people reading this
just can't understand the difference between my XY bits and the
existing DMA engine status bits.  True there is some overlap in a
few states of the two sets of bits but the existing status bits
and my XY bits are really reporting different information to the
host.

===

Tony Goodfellow said...

>The states are:
>Int Err Act
> 0   0   0  No DMA transfer in progress
> 0   0   1  DMA transfer in progress and the ATA device
>            has NOT asserted INTRQ.
> 1   0   0  The device INTRQ and all the data defined by the
>            PRD has transferred (Normal case).

But with U-DMA did the device attempt to send a few more bytes to the
host before stopping?

> 1   0   1  The device asserted INTRQ and completed the
>            command before the PRD completes (may be valid
>            for some ATAPI commands).

How much data was transferred? Was any data transferred?

===

So I am done with this conversation.  You seem to like building
toys (and maybe that is all the consumer is willing to pay for?)
and that is OK.  I just think you should be honest and tell the
IT people of the world that these are toys and should not be used
for corporate mission critical data processing.



*** Hale Landis *** www.ata-atapi.com ***



Subscribe/Unsubscribe instructions can be found at www.t13.org.

Reply via email to