Re: Errant readings on LM81 with T2080 SoC
From: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
Date: 2021-03-08 22:11:17
Also in:
linux-hwmon, linuxppc-dev, lkml
From: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
Date: 2021-03-08 22:11:17
Also in:
linux-hwmon, linuxppc-dev, lkml
On 8/03/21 5:59 pm, Guenter Roeck wrote:
On 3/7/21 8:37 PM, Chris Packham wrote: [ ... ]quoted
quoted
That's from -ENXIO which is used in only one place in i2c-mpc.c. I'll enable some debug and see what we get.For the errant readings there was nothing abnormal reported by the driver. For the "No such device or address" I saw "mpc-i2c ffe119000.i2c: No RXAK" which matches up with the -ENXIO return.Id suggest to check the time until not busy and stop in mpc_xfer(). Those hot loops are unusual, and may well mess up the code especially if preempt is enabled.
Reworking those loops seems to have had a positive result. I'll do a bit more testing and hopefully get a patch out later today.
Also, are you using interrupts or polling in your system ? The interrupt handler looks a bit odd, with "Read again to allow register to stabilise". Do you have fsl,timeout set in the devicetree properties and, if so, have you played with it ? Other than that, the only other real idea I have would be to monitor the i2c bus. Guenter