diff options
author | Manuel Lauss <manuel.lauss@googlemail.com> | 2009-09-08 17:45:17 (GMT) |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-09-08 18:21:27 (GMT) |
commit | cdc65fbe18aef15e92d2ebb410a189fbf956fb06 (patch) | |
tree | d121aea788bf52467683a9072ff3d15b89bd5c08 /arch/arm/mach-omap2 | |
parent | 87831cb660954356d68cebdb1406f3be09e784e9 (diff) | |
download | linux-fsl-qoriq-cdc65fbe18aef15e92d2ebb410a189fbf956fb06.tar.xz |
ASoC: au1x: PSC-AC97 bugfixes
This patch fixes the following bugs:
- only reprogram bitdepth if it has changed since last call to hw_params.
- add locking inside ac97_read/write functions:
When reprogramming sample depth, the ac97 unit has to be disabled,
which should not be done in the middle of codec register accesses.
- retry timed-out codec register accesses.
- wait for status bits to set/clear when starting/stopping various
functional blocks; very important after reenabling AC97 unit else
sound may be distorted (e.g. high-pitch noise in 1kHz sine wave).
- clear fifos before/after starting/stopping RX/TX.
- longer timeouts waiting for PSC/AC97 ready after cold reset
with certain codecs this can take ridiculous amounts of time.
Run-tested on various Au1200 platforms with various codecs.
Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'arch/arm/mach-omap2')
0 files changed, 0 insertions, 0 deletions