linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Chris Packham <Chris.Packham@alliedtelesis.co.nz>,
	Wolfram Sang <wsa@kernel.org>
Cc: "jdelvare@suse.com" <jdelvare@suse.com>,
	"linux-hwmon@vger.kernel.org" <linux-hwmon@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: Errant readings on LM81 with T2080 SoC
Date: Thu, 11 Mar 2021 13:34:52 -0800	[thread overview]
Message-ID: <725c5e51-65df-e17d-e2da-0982efacf2d2@roeck-us.net> (raw)
In-Reply-To: <94dfa9dc-a80c-98ba-4169-44cce3d810f7@alliedtelesis.co.nz>

On 3/11/21 1:17 PM, Chris Packham wrote:
> 
> On 11/03/21 9:18 pm, Wolfram Sang wrote:
>>> Bummer. What is really weird is that you see clock stretching under
>>> CPU load. Normally clock stretching is triggered by the device, not
>>> by the host.
>> One example: Some hosts need an interrupt per byte to know if they
>> should send ACK or NACK. If that interrupt is delayed, they stretch the
>> clock.
>>
> It feels like something like that is happening. Looking at the T2080 
> Reference manual there is an interesting timing diagram (Figure 14-2 if 
> someone feels like looking it up). It shows SCL low between the ACK for 
> the address and the data byte. I think if we're delayed in sending the 
> next byte we could violate Ttimeout or Tlow:mext from the SMBUS spec.
> 

I think that really leaves you only two options that I can see:
Rework the driver to handle critical actions (such as setting TXAK,
and everything else that might result in clock stretching) in the
interrupt handler, or rework the driver to handle everything in
a high priority kernel thread.

Guenter

  reply	other threads:[~2021-03-11 21:35 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-07 22:52 Errant readings on LM81 with T2080 SoC Chris Packham
2021-03-08  0:31 ` Guenter Roeck
2021-03-08  2:27   ` Chris Packham
2021-03-08  4:37     ` Chris Packham
2021-03-08  4:59       ` Guenter Roeck
2021-03-08 20:27         ` Chris Packham
2021-03-08 22:39           ` Guenter Roeck
2021-03-10  2:19           ` Chris Packham
2021-03-10  5:06             ` Guenter Roeck
2021-03-10 21:48               ` Chris Packham
2021-03-11  7:41                 ` Guenter Roeck
2021-03-11  8:18                   ` Wolfram Sang
2021-03-11 15:19                     ` Guenter Roeck
2021-03-11 21:17                     ` Chris Packham
2021-03-11 21:34                       ` Guenter Roeck [this message]
2021-03-11 23:47                         ` Chris Packham
2021-03-12  0:07                           ` Guenter Roeck
2021-03-12  0:19                             ` Chris Packham
2021-03-12  9:25                         ` David Laight
2021-03-14 21:26                           ` Chris Packham
2021-03-15  9:46                             ` David Laight
2021-03-18  5:44                             ` Wolfram Sang
2021-03-18  3:46                         ` Chris Packham
2021-03-18  4:02                           ` Guenter Roeck
2021-03-18  5:39                             ` Wolfram Sang
2021-03-08 22:10         ` Chris Packham
2021-03-09  4:36           ` Chris Packham
2021-03-09  5:24             ` Guenter Roeck
2021-03-09 23:35   ` Chris Packham
2021-03-10  3:29     ` Guenter Roeck

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=725c5e51-65df-e17d-e2da-0982efacf2d2@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=Chris.Packham@alliedtelesis.co.nz \
    --cc=jdelvare@suse.com \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).