[alsa-devel] [RFC 0/2] ASoC: remove io_mutex

ext-eero.nurkkala at nokia.com ext-eero.nurkkala at nokia.com
Fri Oct 30 12:34:01 CET 2009

From: Eero Nurkkala <ext-eero.nurkkala at nokia.com>

This RFC set addresses the existence of io_mutex.
A safer method is introduced - but it changes the
semantics quite a bit, as now all drivers calling
snd_soc_update_bits() will need to make sure the
codec mutex is taken.

snd_soc_test_bits() - function does not need to
take the io_mutex at all - all calls to it have
the codec mutex already taken.

Warning: Not even compile tested!

Possible drawback:

dapm_power_widgets() may hold the codec mutex for
a few ms, which may be too long; meanwhile,
calls to snd_soc_update_bits() are stalled.

Of course we wish optimal performance and maybe
the codec mutex should only be taken for such
registers that contain both volume and dapm bits...

Ideas, comments, all welcome.

More information about the Alsa-devel mailing list