aboutsummaryrefslogtreecommitdiff
path: root/lib/div64.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-02-25 12:52:10 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-02-25 15:25:07 +0000
commitb4e82b5b785670b68136765059d1afc65c0ae023 (patch)
treeb37d6abcda23e818ec0d3016b4305f55341450a2 /lib/div64.c
parent9e4a10d27e89f780539e08abd2b051cb83635dfa (diff)
ASoC: Check progress when reporting periods from i.MX FIQ handler
Currently the i.MX FIQ handler is reporting periods as elapsed based purely on a timer running in the CPU. This means that any clock mismatch between the CPU and the audio subsystem can result in the status reported to applications drifting away from the actual status of the hardware. This is particularly likely at present since the SSI driver is only capable of operating in slave mode so it's very likely that the interface will be clocked from a different source. Instead check the offset reported by the FIQ and only notify when we have transferred at least one period, re-firing the timer if we didn't do so. Also factor out the calculation of the timer expiry time for make it a bit easier to experiment with. Note that this only improves the situation, problems can still be triggered. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'lib/div64.c')
0 files changed, 0 insertions, 0 deletions