summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-04-02 16:31:03 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2010-05-28 01:37:35 +0200
commit7cc1392aabc31d2af9bd3cc5febbd91977452181 (patch)
treea45186a5730335727373890e023ac2a60b2b237f /net
parent800e69fbd2faea906cabd10ddb77e36410f2bd9c (diff)
downloadop-kernel-dev-7cc1392aabc31d2af9bd3cc5febbd91977452181.zip
op-kernel-dev-7cc1392aabc31d2af9bd3cc5febbd91977452181.tar.gz
mfd: Improve WM831x AUXADC completion handling
Currently completion of WM831x AUXADC conversions is monitored by checking for convertor enable. Due to the mechanism used to ensure data corruption is avoided when reading AUXADC data there may under heavy I/O be a window where this bit has cleared but the conversion results have not been updated. Data availability is only guaranteed after the AUXADC data interrupt has been asserted. Avoid this by always using the interrupt to detect completion. If the chip IRQ is not set up then we poll the IRQ status register for up to 5ms. If it is set up then we rely on the data done interrupt with a vastly increased timeout, failing the conversion if the interrupt is not generated. This also saves a register read when using interrupts. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud