ASoC: Coalesce register writes for DAPM sequences
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 7 Jun 2009 11:51:26 +0000 (12:51 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 8 Jun 2009 12:51:04 +0000 (13:51 +0100)
commitb22ead2a510fdb30440753f90237e86fdac70fae
treec82e4d89c55014010ee5ce552cd469a5cab47624
parent163cac061c97394d4ef9c89efe5921dac937ddb8
ASoC: Coalesce register writes for DAPM sequences

Reduce the number of register writes we need to set the power state for
a CODEC by coalescing updates to widgets with the same sequence order and
same register into a single write.

This can be a noticable performance improvement with slow or heavily
contended control buses, such as I2C controllers with a low clock
frequency, and is particularly noticable when resuming. It can also
reduce the noticability of and pops and clicks by ensuring that left
and right channels are powered simultaneously if they are in the same
register.

Currently widgets that have events are not coalesced, including PGAs
which may use the volume ramping control.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/soc-dapm.c