[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2pikoj7o5qppdysbyhrla2ur3vfsrhl5nfmp2ot3iqii5msuac@qky2ij7jtgov>
Date: Wed, 8 Jan 2025 00:21:28 +0100
From: Andi Shyti <andi.shyti@...nel.org>
To: Carlos Song <carlos.song@....com>
Cc: frank.li@....com, aisheng.dong@....com, shawnguo@...nel.org,
s.hauer@...gutronix.de, kernel@...gutronix.de, festevam@...il.com,
linux-i2c@...r.kernel.org, imx@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] i2c: imx-lpi2c: make controller available until the
system enters suspend_noirq() and from resume_noirq().
Hi Carlos,
On Fri, Dec 27, 2024 at 04:47:36PM +0800, Carlos Song wrote:
> This is a general i2c controller feature. Some I2C devices may need the
> I2C controller to remain active during resume_noirq() or suspend_noirq().
> If the controller is autosuspended, there is no way to wake it up once
> runtime PM disabled (in suspend_late()). During system resume, the I2C
> controller will be available only after runtime PM is re-enabled
> (in resume_early()). However, this may be too late for some devices.
>
> Wake up the controller in the suspend() callback while runtime PM is
> still enabled. The I2C controller will remain available until the
> suspend_noirq() callback (pm_runtime_force_suspend()) is called. During
> resume, the I2C controller can be restored by the resume_noirq() callback
> (pm_runtime_force_resume()). Finally, the resume() callback re-enables
> autosuspend. As a result, the I2C controller can remain available until
> the system enters suspend_noirq() and from resume_noirq().
>
> Signed-off-by: Carlos Song <carlos.song@....com>
Merged to i2c/i2c-host.
Thanks,
Andi
Powered by blists - more mailing lists