When does an
SDHCI controller (3.00 spec) starts reading the DAT lines in a single read block transaction (not using DMA)?
Does it wait to receive the full response or can start reading the data line before?
In the Physical Layer Spec (3.01) there's the following broad diagram
Notice that the data_block is sent before the response is completely sent, so the controller should start reading before receiving the response.
According to it, the controller should wait for the Command Complete Int. The description of that bit states
Command Complete: This bit is set when get the end bit of the command response.
So, does the controller have to wait until the last bit of the response has been received? Maybe it just stores the data on an internal buffer but only access it after receiving the full response? And, if the controller starts reading before receiving the full response, when should it exactly start? Just after issuing the command?