From: Wolfram Sang <wsa@the-dreams.de>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: Dmitry Osipenko <digetx@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Laxman Dewangan <ldewangan@nvidia.com>,
Shardar Shariff Md <smohammed@nvidia.com>,
linux-tegra@vger.kernel.org, linux-i2c@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] i2c: tegra: Remove suspend-resume
Date: Mon, 14 May 2018 14:18:33 +0200 [thread overview]
Message-ID: <20180514121833.2hcpuwfjxmzi3rcx@katana> (raw)
In-Reply-To: <20180514115933.GH18312@ulmo>
[-- Attachment #1: Type: text/plain, Size: 2390 bytes --]
On Mon, May 14, 2018 at 01:59:33PM +0200, Thierry Reding wrote:
> On Mon, May 14, 2018 at 12:13:47AM +0300, Dmitry Osipenko wrote:
> > Nothing prevents I2C clients to access I2C while Tegra's driver is being
> > suspended, this results in -EBUSY error returned to the clients and that
> > may have unfortunate consequences. In particular this causes problems
> > for the TPS6586x MFD driver which emits hundreds of "failed to read
> > interrupt status" error messages on resume from suspend. This happens if
> > TPS6586X is used to wake system from suspend by the expired RTC alarm
> > timer because TPS6586X is an I2C device driver and its IRQ handler reads
> > the status register while Tegra's I2C driver is suspended, i.e. just after
> > kernel enabled IRQ's during of resume-from-suspend process.
> >
> > Note that the removed tegra_i2c_resume() invoked tegra_i2c_init() which
> > performs HW reset. That seems was also not entirely correct because moving
> > tegra_i2c_resume to an earlier stage of resume-from-suspend process causes
> > I2C transfer to fail in the case of TPS6586X. It is fine to remove the
> > HW-reinitialization for now because it should be only needed in a case of
> > using lowest power-mode during suspend, which upstream kernel doesn't
> > support.
> >
> > Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
> > Cc: <stable@vger.kernel.org>
> > ---
> > drivers/i2c/busses/i2c-tegra.c | 33 ---------------------------------
> > 1 file changed, 33 deletions(-)
>
> Shardar, Laxman, any thoughts on this? The is_suspended thing looks to
> me like a workaround of some sort that may not be needed if clients have
> proper suspend/resume implementations. Even without suspend/resume
> support in client drivers, the driver core should resume devices in the
> right order (I2C adapter before any of the clients), so I don't see any
> cases where the is_suspended logic would be useful.
Thanks for this patch!
This is closely related to a discussion we started recently:
"I2C PM overhaul needed?" https://lkml.org/lkml/2018/5/4/329
And part of the outcome is that the I2C core should print a WARN if an
I2C client tries to use I2C at suspend_noirq state or later. This is to
remove logic like in this patch from all I2C host drivers and to make it
more explicit that those I2C client drivers need their PM fixed.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2018-05-14 12:18 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-13 21:13 [PATCH v1] i2c: tegra: Remove suspend-resume Dmitry Osipenko
2018-05-14 11:59 ` Thierry Reding
2018-05-14 12:18 ` Wolfram Sang [this message]
2018-05-14 13:03 ` Dmitry Osipenko
2018-05-14 12:21 ` Laxman Dewangan
2018-05-14 12:47 ` Thierry Reding
2018-05-14 12:51 ` Dmitry Osipenko
2018-05-29 18:06 ` Wolfram Sang
2018-05-30 10:59 ` Laxman Dewangan
2018-05-30 20:18 ` Wolfram Sang
2018-05-30 20:25 ` Wolfram Sang
2018-05-30 22:17 ` Dmitry Osipenko
2018-10-17 13:59 ` Jon Hunter
2018-10-17 14:30 ` Dmitry Osipenko
2018-10-17 19:41 ` Jon Hunter
2018-10-17 20:49 ` Dmitry Osipenko
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=20180514121833.2hcpuwfjxmzi3rcx@katana \
--to=wsa@the-dreams.de \
--cc=digetx@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=ldewangan@nvidia.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=smohammed@nvidia.com \
--cc=thierry.reding@gmail.com \
/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