aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2012-03-19 09:12:53 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-02 09:27:11 -0700
commitbb4b47099da04aa78ef6b351ef85574f7690780f (patch)
tree10dce64ccc90c6254d21fd447b14a5e9a994cd91 /drivers/target
parentb113a5a2f7c1a153a49b388fd8695219207fe669 (diff)
downloadkernel_samsung_smdk4412-bb4b47099da04aa78ef6b351ef85574f7690780f.zip
kernel_samsung_smdk4412-bb4b47099da04aa78ef6b351ef85574f7690780f.tar.gz
kernel_samsung_smdk4412-bb4b47099da04aa78ef6b351ef85574f7690780f.tar.bz2
ASoC: pxa-ssp: atomically set stream active masks
commit 273b72c8ce6b28df6b49423d775c3e59072c73c5 upstream. PXA's SSP engine fails to take its current channel phase into account when enabling a stream while the engine is already running. This results in randomly swapped left/right channels on either the record or the playback side, depending on which one was enabled first. The following patch fixes this by factoring out the bit field modifications in question to a separate function that pauses the engine temporarily, modifies the bits and kicks it off again afterwards. Appearantly, a transition of SSCR0_SSE syncs both directions properly. The patch has been rolled out to quite a number of devices over the last weeks and seems to fix the issue reliably. Signed-off-by: Daniel Mack <zonque@gmail.com> Reported-and-tested-by: Sven Neumann <s.neumann@raumfeld.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/target')
0 files changed, 0 insertions, 0 deletions