Thread (30 messages) flat view 30 messages, 4 authors, 2021-03-18

Re: Errant readings on LM81 with T2080 SoC

From: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
Date: 2021-03-08 20:28:20
Also in: linux-hwmon, linux-i2c, 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. Also, are you using interrupts or polling in
your system ?
I'm using interrupts but I see the same issue if I comment out the 
interrupts in the dtsi file (i.e. force it to use polling).
The interrupt handler looks a bit odd, with "Read again
to allow register to stabilise".
Yeah that stuck out to me too. The code in question predates git, I went 
spelunking in history.git and the "Read again" seems to be in the 
initial version[0]. I did try to alter the interrupt handler so that it 
only does one read but that didn't seem to change anything.
Do you have fsl,timeout set in the devicetree properties and, if so,
have you played with it ?
Haven't got it set but I'll have a go at tweaking it.
Other than that, the only other real idea I have would be to monitor
the i2c bus.
I am in the fortunate position of being able to go into the office and 
even happen to have the expensive scope at the moment. Now I just need 
to find a tame HW engineer so I don't burn myself trying to attach the 
probes.

-- 

[0] - https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/commit/?id=11b3235dc04a306f6a9ba14c1ab621b2d54f2c56
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help