[alsa-devel] [PATCH 0/9] ALSA: compress offfload fixes

Vinod Koul vinod.koul at intel.com
Tue Aug 27 08:40:30 CEST 2013

Hi Takashi,

Here is the patch series which fixes various issues being reported by users (out
of tree sadly)

The first three and and last one are marked to stable as would like these to be
fixed in older kernels as well. It would be good if you can send them as fixes
to linus for 3.11.

Rest can go in the merge window

 - using lock for all operation was a very bad idead. This is bad as some of the
   ioctls like drain, partial drain can be time consuming and thus prevent any
other operation while these are ongoing like Pause, Stop or timestamp query, so
fix this be removing bunch of ioctls not to use device lock.
 - Now we dont have lock for pointer updates so this maybe racy, so use lock
   for doing lowest level calculation. 
 - As disscused on our sample rate problem, lets move to use rate values and I
   will fix the lib too. Since the driver are not upstream the impact of this
change wont be huge.
 - Plus few fix like use snprintf, state chacks for pause, write etc..

Vinod Koul (9):
  ALSA: Compress - dont use lock for all ioctls
  ALSA: compress: use mutex in drain
  ASoC: compress: dont aquire lock for draining states
  ALSA: compress: use snprint instread of sprintf
  ALSA: compres: wakeup the poll thread on pause
  ALSA: compress: dont write when stream is paused
  ALSA: compress: allow write when stream is setup
  ALSA: compress: call pointer callback and updates under a lock
  ALSA: compress: use rate values for passing sampling rates

 include/sound/compress_driver.h       |    2 +
 include/uapi/sound/compress_offload.h |    2 +-
 sound/core/compress_offload.c         |  140 +++++++++++++++++++++++++-------
 sound/soc/soc-compress.c              |   10 +++
 4 files changed, 122 insertions(+), 32 deletions(-)


More information about the Alsa-devel mailing list