On 28/10/15 01:04, Mark Brown wrote:
On Tue, Oct 27, 2015 at 01:55:27PM +0000, Damien Horsley wrote:
On 23/10/15 23:57, Mark Brown wrote:
Shouldn't we be doing that flush on stream close instead? If nothing else the flush is going to discard a bit of data if the stream is just paused.
The FIFOs are only 8 frames in size, so I am not sure there is an issue with these frames being lost.
I think it also makes sense to keep the blocks consistent with each other. The spdif (out and in), and parallel out, all flush automatically when stopped, and the fifo for the i2s out block is cleared when the reset is asserted.
This seems like an issue that got missed in the other drivers then. I'd expect the trigger operation to be a minimal operation which starts and stops the data transfer, not doing anything else.
The spdif out, spdif in, and parallel out blocks auto-flush whenever they are stopped. It is not possible for software to prevent this behavior.