[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aGParHQ3GSdAA8rL@kuha.fi.intel.com>
Date: Tue, 1 Jul 2025 15:55:08 +0300
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: Lucas De Marchi <lucas.demarchi@...el.com>,
Thomas Hellström <thomas.hellstrom@...ux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@...el.com>,
Jarkko Nikula <jarkko.nikula@...ux.intel.com>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Jan Dabros <jsd@...ihalf.com>, Andi Shyti <andi.shyti@...nel.org>,
Raag Jadav <raag.jadav@...el.com>,
"Tauro, Riana" <riana.tauro@...el.com>,
"Adatrao, Srinivasa" <srinivasa.adatrao@...el.com>,
"Michael J. Ruhl" <michael.j.ruhl@...el.com>,
intel-xe@...ts.freedesktop.org, linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6 1/5] i2c: designware: Use polling by default when
there is no irq resource
On Tue, Jul 01, 2025 at 03:42:42PM +0300, Andy Shevchenko wrote:
> On Tue, Jul 01, 2025 at 03:22:48PM +0300, Heikki Krogerus wrote:
> > The irq resource itself can be used as a generic way to
> > determine when polling is needed.
> >
> > This not only removes the need for special additional device
> > properties that would soon be needed when the platform may
> > or may not have the irq, but it also removes the need to
> > check the platform in the first place in order to determine
> > is polling needed or not.
>
> > Signed-off-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
> > ---
> > Hi guys,
> >
> > I found the thread with Jarkko's comments from my archives. He wanted
> > the local flags variable to be added because he wants the order of the
> > calls to remain as it is now - the device is allocated only after the
> > irq is checked.
>
> Yes, thanks.
>
> ...
>
> > + u32 flags = (uintptr_t)device_get_match_data(&pdev->dev);
>
> > + irq = platform_get_irq_optional(pdev, 0);
> > + if (irq == -ENXIO)
> > + flags |= ACCESS_POLLING;
> > + else if (irq < 0)
> > return irq;
>
> > if (device_property_present(device, "wx,i2c-snps-model"))
> > + flags = MODEL_WANGXUN_SP | ACCESS_POLLING;
>
> Now I'm a bit puzzled why do we need to add this flag explicitly here?
> Does Wnagxun provides an IRQ and chooses at the same time to poll?
> Shouldn't this patch rather fix that?
No. I do not want to touch the behavior here. The flags were
overwritten and continue to be overwritten.
I will propose an improvement for that together with some other
modifications to this file later, but those are out side the scope of
this series.
thanks,
--
heikki
Powered by blists - more mailing lists