[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250411124129.GA48732@francesco-nb>
Date: Fri, 11 Apr 2025 14:41:29 +0200
From: Francesco Dolcini <francesco@...cini.it>
To: Carlos Song <carlos.song@....com>
Cc: Francesco Dolcini <francesco@...cini.it>,
Aisheng Dong <aisheng.dong@....com>,
Andi Shyti <andi.shyti@...nel.org>, Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Emanuele Ghidoli <emanuele.ghidoli@...adex.com>,
"linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
"imx@...ts.linux.dev" <imx@...ts.linux.dev>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Francesco Dolcini <francesco.dolcini@...adex.com>
Subject: Re: [PATCH v1] i2c: lpi2c: implement master_xfer_atomic callback
Hello,
On Fri, Apr 11, 2025 at 11:55:31AM +0000, Carlos Song wrote:
> > On Wed, Mar 19, 2025 at 03:51:14PM +0100, Francesco Dolcini wrote:
> > > From: Emanuele Ghidoli <emanuele.ghidoli@...adex.com>
> > >
> > > Rework the read and write code paths in the driver to support
> > > operation in atomic contexts. To achieve this, the driver must not
> > > rely on IRQs or perform any scheduling, e.g., via a sleep or schedule
> > > routine. Even jiffies do not advance in atomic contexts, so timeouts
> > > based on them are substituted with delays.
> > >
> > > Implement atomic, sleep-free, and IRQ-less operation. This increases
> > > complexity but is necessary for atomic I2C transfers required by some
> > > hardware configurations, e.g., to trigger reboots on an external PMIC chip.
> > >
> > > Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@...adex.com>
> > > Signed-off-by: Francesco Dolcini <francesco.dolcini@...adex.com>
> >
> > Any comment on this?
> Looks good. Thank you for your work!
> Do you test it at some board? How can we test simply?
It was tested on Toradex SMARC iMX95, there to power-off/reset the board
we have some I2C communication required [1].
[1] https://lore.kernel.org/all/20250407114947.41421-3-francesco@dolcini.it/
Francesco
Powered by blists - more mailing lists