lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
 <DB7PR04MB5003B70ADC8388F878E06BB3E8972@DB7PR04MB5003.eurprd04.prod.outlook.com>
Date: Fri, 30 Aug 2024 08:53:12 +0000
From: Carlos Song <carlos.song@....com>
To: Stefan Wahren <wahrenst@....net>, Aisheng Dong <aisheng.dong@....com>,
	"andi.shyti@...nel.org" <andi.shyti@...nel.org>, "shawnguo@...nel.org"
	<shawnguo@...nel.org>, "s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
	"kernel@...gutronix.de" <kernel@...gutronix.de>, "festevam@...il.com"
	<festevam@...il.com>
CC: "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>
Subject: RE: [EXT] Re: [PATCH 2/5] i2c: imx-lpi2c: add IRQF_NO_SUSPEND IRQ
 flag



> -----Original Message-----
> From: Stefan Wahren <wahrenst@....net>
> Sent: Thursday, August 29, 2024 6:53 PM
> To: Carlos Song <carlos.song@....com>; Aisheng Dong
> <aisheng.dong@....com>; andi.shyti@...nel.org; shawnguo@...nel.org;
> s.hauer@...gutronix.de; kernel@...gutronix.de; festevam@...il.com
> Cc: linux-i2c@...r.kernel.org; imx@...ts.linux.dev;
> linux-arm-kernel@...ts.infradead.org; linux-kernel@...r.kernel.org
> Subject: [EXT] Re: [PATCH 2/5] i2c: imx-lpi2c: add IRQF_NO_SUSPEND IRQ flag
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report this
> email' button
> 
> 
> Hi Carlos,
> 
> Am 29.08.24 um 11:37 schrieb carlos.song@....com:
> > From: Carlos Song <carlos.song@....com>
> >
> > Set IRQF_NO_SUSPEND flag when request_irq(). Some devices such as
> > extend GPIO will need i2c transfer during the entire system suspend
> > and resume period so keep it enabled.
> do you mean GPIO expander which are connected to I2C?
> 
> Do the mentioned expander have a dedicated IRQ line or does the host needs to
> poll I2C?
> 
Hi,

Yes, we have both gpio expanders. But devices polling i2c may have a stronger need for this.
Like pmic, it may use i2c transfer at any time regardless of whether the system enters suspend or disables irq.
This flag is added to make the I2c irq won't be mask in the system suspend.

But I find that it is not enough if just add this flag. Because lpi2c clock is enabled at rpm function. If rpm is disabled,
the lpi2c still can not work. So I will add an extra patch to make lpi2c can work also at no irq stage. I will send this patch
with this in next new patch serials.

> Best regards
> 
> >
> > Signed-off-by: Carlos Song <carlos.song@....com>
> > Signed-off-by: Frank Li <Frank.Li@....com>
> > ---
> >   drivers/i2c/busses/i2c-imx-lpi2c.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c
> > b/drivers/i2c/busses/i2c-imx-lpi2c.c
> > index c8f3dadfb36e..23f83f10d5f6 100644
> > --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
> > +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
> > @@ -1309,7 +1309,7 @@ static int lpi2c_imx_probe(struct platform_device
> *pdev)
> >       if (ret)
> >               lpi2c_imx->bitrate = I2C_MAX_STANDARD_MODE_FREQ;
> >
> > -     ret = devm_request_irq(&pdev->dev, irq, lpi2c_imx_isr, 0,
> > +     ret = devm_request_irq(&pdev->dev, irq, lpi2c_imx_isr,
> > + IRQF_NO_SUSPEND,
> >                              pdev->name, lpi2c_imx);
> >       if (ret)
> >               return dev_err_probe(&pdev->dev, ret, "can't claim irq
> > %d\n", irq);


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ