On Tue, Mar 20, 2012 at 7:04 PM, Mark Brown broonie@opensource.wolfsonmicro.com wrote:
On Tue, Mar 20, 2012 at 06:15:34PM +0200, Grazvydas Ignotas wrote:
On Tue, Mar 20, 2012 at 6:01 PM, Mark Brown
though this should probably have the note about working around broken applications from the cover letter in the changelog as with the changelog alone it's really not apparent why we're doing this here as a driver specific thing.
I wouldn't really call them broken, it's enough to set period size to 512 with smaller start_threshold (something like 50ms) to have problems, those parameters are perfectly valid for a program trying to achieve low latency.
If they can't cope with the parameters they've set I'd call them broken, they should've asked for more sensible parameters.
How is the program supposed to know those parameters are invalid for this hardware? It could maybe detect underflows and increase period until underflows stop, but there might be other reasons for underflows like high system load. Or do you mean setting up some period size and doing writes of that period size is not valid thing to do? Currently, no matter how fast the writes come, there is an underflow after first write in these conditions.