Thread (21 messages) flat view 21 messages, 5 authors, 2016-01-17

Re: [PATCH RFC 1/1] ASoC: fsl_ssi: Make fifo watermark and maxburst settings device tree options

From: Caleb Crome <hidden>
Date: 2016-01-15 17:03:50
Also in: alsa-devel, lkml

On Fri, Jan 15, 2016 at 5:46 AM, Timur Tabi [off-list ref] wrote:
Mark Brown wrote:
quoted
quoted
quoted
I admit it's a grey area, but the hardware doesn't work if you use the
wrong
value, and it is a fixed value per device.  A p1022ds would use a
different
value than in in i.MX6, and once you pick a value, it's the same no
matter
which sample rate, buffer size, etc you choose.
quoted
Caleb's original message suggested this was rate dependant.
Yeah, I just noticed that.  In that case, I agree that a device tree
property is inappropriate, unless it's an array that contains tuples of
sample rates and watermark/maxburst settings.  That would get unwieldy very
easily, though.

The rate dependance is only a *potential* issue.  I suspect that a
value of 4 should be functional for all rates and chips.  The only
trade off is more DMA requests/bursts.

In a typical 15 word fifo, 48kHz, stereo, single fifo DMA system,  the
old value was 15-2 = 13, which would mean 7385 13-word DMA
bursts/second.    A new value of 4 would mean 24,000 4-word DMA
bursts/second.

Is that consequential for anybody?  It's about the same total
bandwidth on the system, but just broken up into smaller chunks (I
don't know what the overhead is for a DMA burst)

In a high channel count system (16 channels @ 48kHz), the old value
doesn't work, and the new value would mean 192,000 4-word DMA
bursts/second, which works on my MX6.  So given that 192000 works
fine, I'm not sure that the difference in a typical system would
matter at all.

If nobody objects, we can just set the value to 4 and be done with it.

Another question:  is the watermark ever going to be different than
maxburst?  Is there any reason to have them different?

-Caleb
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help