All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
To: "wsa@kernel.org" <wsa@kernel.org>,
	Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
Cc: "andy.shevchenko@gmail.com" <andy.shevchenko@gmail.com>,
	"andriy.shevchenko@linux.intel.com" 
	<andriy.shevchenko@linux.intel.com>,
	"mpe@ellerman.id.au" <mpe@ellerman.id.au>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 0/4] P2040/P2041 i2c recovery erratum
Date: Thu, 20 May 2021 03:36:58 +0000	[thread overview]
Message-ID: <ae39c62a-7dc7-81f5-ea10-edfdbf905e9d@alliedtelesis.co.nz> (raw)
In-Reply-To: <20210512150118.GA1004@ninjato>


On 13/05/21 3:01 am, wsa@kernel.org wrote:
>>> I've been doing my recent work with a P2040 and prior to that I did test
>>> out the recovery on a T2081 (which isn't documented to have this
>>> erratum) when I was re-working the driver. The "new" recovery actually
>>> seems better but I don't have a reliably faulty i2c device so that's
>>> only based on me writing some code to manually trigger the recovery
>>> (using the snippet below) and observing it with an oscilloscope.
>> You don't need a faulty device, just an aborted I2C read/write op.
> If you can wire GPIOs to the bus, you can use the I2C fault injector:
>
> 	Documentation/i2c/gpio-fault-injection.rst
>
> There are already two "incomplete transfer" injectors.
>
Just giving this thread a poke. I have been looking at my options for 
triggering an i2c recovery but haven't really had time to do much. I 
think the best option given what I've got access to is a modified SFP 
that grounds the SDA line but I need to find a system where I can attach 
an oscilloscope (should be a few of these in the office when I can get 
on-site).

I can confirm that when manually triggered the existing recovery and the 
new erratum workaround produce what I'd expect to observe on an 
oscilloscope.

I haven't explored Joakim's alternative recovery but I don't think that 
should hold up these changes, any improvement to the existing recovery 
can be done later as a follow-up.

WARNING: multiple messages have this Message-ID (diff)
From: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
To: "wsa@kernel.org" <wsa@kernel.org>,
	Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"andy.shevchenko@gmail.com" <andy.shevchenko@gmail.com>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	"andriy.shevchenko@linux.intel.com"
	<andriy.shevchenko@linux.intel.com>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH v3 0/4] P2040/P2041 i2c recovery erratum
Date: Thu, 20 May 2021 03:36:58 +0000	[thread overview]
Message-ID: <ae39c62a-7dc7-81f5-ea10-edfdbf905e9d@alliedtelesis.co.nz> (raw)
In-Reply-To: <20210512150118.GA1004@ninjato>


On 13/05/21 3:01 am, wsa@kernel.org wrote:
>>> I've been doing my recent work with a P2040 and prior to that I did test
>>> out the recovery on a T2081 (which isn't documented to have this
>>> erratum) when I was re-working the driver. The "new" recovery actually
>>> seems better but I don't have a reliably faulty i2c device so that's
>>> only based on me writing some code to manually trigger the recovery
>>> (using the snippet below) and observing it with an oscilloscope.
>> You don't need a faulty device, just an aborted I2C read/write op.
> If you can wire GPIOs to the bus, you can use the I2C fault injector:
>
> 	Documentation/i2c/gpio-fault-injection.rst
>
> There are already two "incomplete transfer" injectors.
>
Just giving this thread a poke. I have been looking at my options for 
triggering an i2c recovery but haven't really had time to do much. I 
think the best option given what I've got access to is a modified SFP 
that grounds the SDA line but I need to find a system where I can attach 
an oscilloscope (should be a few of these in the office when I can get 
on-site).

I can confirm that when manually triggered the existing recovery and the 
new erratum workaround produce what I'd expect to observe on an 
oscilloscope.

I haven't explored Joakim's alternative recovery but I don't think that 
should hold up these changes, any improvement to the existing recovery 
can be done later as a follow-up.

  reply	other threads:[~2021-05-20  3:37 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-11 21:20 [PATCH v3 0/4] P2040/P2041 i2c recovery erratum Chris Packham
2021-05-11 21:20 ` Chris Packham
2021-05-11 21:20 ` [PATCH v3 1/4] dt-bindings: i2c: mpc: Add fsl,i2c-erratum-a004447 flag Chris Packham
2021-05-11 21:20   ` [PATCH v3 1/4] dt-bindings: i2c: mpc: Add fsl, i2c-erratum-a004447 flag Chris Packham
2021-05-11 21:20 ` [PATCH v3 2/4] powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 i2c controllers Chris Packham
2021-05-11 21:20   ` [PATCH v3 2/4] powerpc/fsl: set fsl, i2c-erratum-a004447 " Chris Packham
2021-05-26  1:02   ` [PATCH v3 2/4] powerpc/fsl: set fsl,i2c-erratum-a004447 " Michael Ellerman
2021-05-26  1:02     ` Michael Ellerman
2021-05-11 21:20 ` [PATCH v3 3/4] powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P1010 " Chris Packham
2021-05-11 21:20   ` [PATCH v3 3/4] powerpc/fsl: set fsl, i2c-erratum-a004447 " Chris Packham
2021-05-26  1:02   ` [PATCH v3 3/4] powerpc/fsl: set fsl,i2c-erratum-a004447 " Michael Ellerman
2021-05-26  1:02     ` Michael Ellerman
2021-05-11 21:20 ` [PATCH v3 4/4] i2c: mpc: implement erratum A-004447 workaround Chris Packham
2021-05-11 21:20   ` Chris Packham
2021-05-11 22:10 ` [PATCH v3 0/4] P2040/P2041 i2c recovery erratum Joakim Tjernlund
2021-05-11 22:10   ` Joakim Tjernlund
2021-05-12  1:48   ` Chris Packham
2021-05-12  1:48     ` Chris Packham
2021-05-12  8:57     ` Joakim Tjernlund
2021-05-12  8:57       ` Joakim Tjernlund
2021-05-12 15:01       ` wsa
2021-05-12 15:01         ` wsa
2021-05-20  3:36         ` Chris Packham [this message]
2021-05-20  3:36           ` Chris Packham
2021-05-25 18:49     ` wsa
2021-05-25 18:49       ` wsa
2021-05-25 18:53 ` Wolfram Sang
2021-05-25 18:53   ` Wolfram Sang
2021-05-26  1:02   ` Michael Ellerman
2021-05-26  1:02     ` Michael Ellerman
2021-05-27 19:53     ` Wolfram Sang
2021-05-27 19:53       ` Wolfram Sang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ae39c62a-7dc7-81f5-ea10-edfdbf905e9d@alliedtelesis.co.nz \
    --to=chris.packham@alliedtelesis.co.nz \
    --cc=Joakim.Tjernlund@infinera.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=robh+dt@kernel.org \
    --cc=wsa@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.