Could someone in-the-know please check KBA90743 "Interpreting the DMA_RDY Flag of the GPIF II Block of FX3". Its discussion is hopelessly confusing.
This article tries to tackle the topic "The terminology “DMA_RDY” is not quite correct", but it goes a long way to making matters worse.
If parts of the article are to be believed, the terminology is not just "not quite" correct, it would be completely wrong, and such a degree of wrongness should be pointed out extremely clearly. But other parts of the article undermine this conclusion.
Starting point: The discussion revolves around the master-slave interfacem where the FX3 implements the slave, with an external master. Then there are two cases, FX3 sends data through the P port to external device, and vice versa. Now:
1. For FX3 Output:
"For a channel that outputs data to the P-port (to an external chip or device), the DMA_RDY flag indicates whether there is data ready to be read out from any of the buffers. If there is at least one buffer with data committed to the P-port, the DMA_RDY flag is deasserted. It is essentially an empty flag in this case."
a. The narrative claims that when data is ready, the FX3 deasserts DMA_RDY. That would make the name a complete reverse of the meaning. Is this really true?
b. "It is essentially an empty flag, in this case". In which case? For the "output data" case, DATA_RDY assertion means empty? Or is this saying that the DATA_RDY DEassertion case means empty? Because if it's the second, that actually makes sense (DEasserting a READY signal would make sense for buffer empty), but says the opposite of the previous sentence.
2. For FX3 Input:
"For a channel that inputs data to the P-port (from an external chip or device), the DMA_RDY flag indicates whether there is buffer area available to write into. If there is at least one buffer available to be filled with data, the DMA_RDY flag is deasserted. It is essentially a full flag in this case."
a. Again, the description says that when a DMA buffer is available, the FX3 signals NOT ready! A
b. Again, it's not clear what "this case" refers to: the FX3-as-input case, or the flag deasserted case. Again the latter would make sense, but is the opposite of the previous sentence.
What is the actual truth?