RE: [PATCH v2 00/10] i2c: xiic: Add features, bug fixes.
From: Raviteja Narayanam <hidden>
Date: 2021-07-26 05:26:41
Also in:
linux-arm-kernel, lkml
-----Original Message----- From: Marek Vasut <marex@denx.de> Sent: Wednesday, July 21, 2021 3:14 AM To: Raviteja Narayanam <redacted>; Michal Simek [off-list ref]; linux-i2c@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; git [off-list ref]; joe@perches.com Subject: Re: [PATCH v2 00/10] i2c: xiic: Add features, bug fixes. On 7/20/21 4:19 PM, Raviteja Narayanam wrote: Hi, [...]quoted
quoted
quoted
I have tested this again on our boards with eeprom and other sensors, thisis working fine for us. Can you share details of how those tests were performed ?Stress test - 1: Heavy ethernet traffic running in the background. I2c commands script (like below) running. We can see visible stutter in theoutput as expected, but nothing failed.quoted
i=0 while [ 1 ] do i2ctransfer -y -f 2 w1@0X54 0X00 r31@0X54 i2ctransfer -y -f 2 w1@0X54 0X00 r32@0X54 i2ctransfer -y -f 2 w1@0X54 0X00 r255@0X54 i2ctransfer -y -f 2 w1@0X54 0X00 r273@0X54 i2ctransfer -y -f 2 w1@0X54 0X00 r1@0X54Could it be that you never see the problem because you always talk to one single device ?
There are transfers to other devices as well. Our board has multiple power monitors, eeprom and other misc devices that are accessed through the same driver and are working fine.
Do you also test writes which are not 1 byte long ?
Yes, like for eeprom 1 page (16 bytes) is written.
quoted
i=$(expr $i + 1) echo "$i" done Stress test - 2: Two i2c scripts running in parallel with commands as shown above withdifferent bus numbers (as a result of mux), but going into same XIIC adapter.quoted
This is also working fine.Could it be the i2c-dev serializes each of those transfers , so no race can be triggered ?
Yes, that is true because all our tests are going through the i2c-core only and there is a lock at adapter level in the core. It has to be reproducible through the i2c standard interface, which is not happening at our setup. I can take your patches that are targeted for this issue, rebase, test and send them. Regards, Raviteja N