On Mon, Jul 15, 2013 at 10:27:21PM +0530, Vinod Koul wrote:
On Mon, Jul 15, 2013 at 06:26:43PM +0100, Mark Brown wrote:
On Mon, Jul 15, 2013 at 06:42:10PM +0200, Lars-Peter Clausen wrote:
- hw.period_bytes_min = 16;
- hw.period_bytes_max = dma_caps.max_sg_len;
We can't read the minimum period size from dmaengine? Seems like something might have a restriction other than 16 bytes here.
max would be how many list items the engine supports so queried therotical min would be 1 byte, not sure how 16 bytes is assumed above but my guess is that if engine is able to push min burst lengths which would be 1 and give you interrupt. But seriously, that would not be practical. So this should be a realistic limit which system can cope with.
Right, we probably want to set an artificial floor here but it still seems like we should be checking that the device actually supports this. If the hardware can only support 64 bytes then the above code won't work properly.