[alsa-devel] [RFC 0/4] ASoC: OMAP3: Extended threshold mode

Peter Ujfalusi peter.ujfalusi at nokia.com
Thu Jul 29 08:51:24 CEST 2010


The following series extends the current threshold implementation for OMAP3
class of devices.

The original threshold implementation has limitation on the size of the period,
which can not be bigger than the McBSP port's FIFO size.
This limitation makes it hard to use any power saving on McBSP ports other than
McBSP2 (McBSP2 has 1280 word buffer, other ports have only 128 word long
buffer), since the maximum period size limit is really small.

After the series the limitation on the period size can be lifted, so user space
can ask for any period size on any of the McBSP ports.

In order to achieve this, I introduce the following changes, when McBSP is in
threshold mode:

if (period_words <= max_threshold)
Configure the McBSP/sDMA as it used to be:
McBSP threshold = sDMA frame size = period size
sDMA packet size = 0

Otherwise (period_words > max_threshold)
McBSP threshold = sDMA packet size
sDMA frame size = period size

In this case the code will look for the biggest possible threshold value, which
can evenly divide the period size, and use that for threshold/packet size.

The first two patch is for preparation.

The series has been generated against:

What do you think?

Peter Ujfalusi (4):
  ASoC: omap-mcbsp: Code cleanup in omap_mcbsp_dai_hw_params
  ASoC: omap-mcbsp: Restructure the code within
  ASoC: omap-mcbsp: Support for sDMA packet mode
  ASoC: omap-mcbsp: Remove period size constraint in THRESHOLD mode

 sound/soc/omap/omap-mcbsp.c |  137 ++++++++++++++++++++++++-------------------
 1 files changed, 76 insertions(+), 61 deletions(-)


More information about the Alsa-devel mailing list