ASoC: tlv320aic3x: Reimplement output mixers
authorJarkko Nikula <jhnikula@gmail.com>
Fri, 27 Aug 2010 13:56:49 +0000 (16:56 +0300)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Sat, 28 Aug 2010 09:57:58 +0000 (10:57 +0100)
commitc3b79e05b4d9ab2e7c3ba281261ea87ab5b71a92
tree33e5e39f866365eb4cb90faee09ccd32ad35c72d
parentb2eaac203a04362e9ccae7ba36aef0a9f2486547
ASoC: tlv320aic3x: Reimplement output mixers

It turned out that the output mixers and their routes were misdefined: They
are not mixing output pins to internal signals but opposite. This has worked
for direct left-to-left and right-to-right routes since for those there are
complete routes. For swapped left-to-right and right-to-left routes this is
not working since there are no routes defined between them.

Another consequence is that those misdefined mixers are incorrectly routed
to several output pins leading unnecessary pin powerings even if there is no
route active to them.

Fix these by reimplementing the output mixers and routes as they are in
hardware. For completeness add also a few missing links between internal
signals and outputs.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
sound/soc/codecs/tlv320aic3x.c
sound/soc/codecs/tlv320aic3x.h