Linux ACPI
 help / color / mirror / Atom feed
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Mario Limonciello <superm1@kernel.org>
Cc: mario.limonciello@amd.com, westeri@kernel.org,
	andriy.shevchenko@linux.intel.com, linus.walleij@linaro.org,
	brgl@bgdev.pl, linux-gpio@vger.kernel.org,
	linux-acpi@vger.kernel.org
Subject: Re: [PATCH] gpiolib: acpi: Program debounce when finding GPIO
Date: Tue, 19 Aug 2025 08:18:13 +0200	[thread overview]
Message-ID: <20250819061813.GJ476609@black.igk.intel.com> (raw)
In-Reply-To: <08dd199e-0e7d-44b8-b980-5fde226cd636@kernel.org>

On Mon, Aug 18, 2025 at 01:03:48PM -0500, Mario Limonciello wrote:
> On 8/17/25 11:55 PM, Mika Westerberg wrote:
> > Hi,
> > 
> > On Sun, Aug 17, 2025 at 08:52:07PM -0500, Mario Limonciello (AMD) wrote:
> > > When soc-button-array looks up the GPIO to use it calls acpi_find_gpio()
> > > which will parse _CRS.
> > > 
> > > acpi_find_gpio.cold (drivers/gpio/gpiolib-acpi-core.c:953)
> > > gpiod_find_and_request (drivers/gpio/gpiolib.c:4598 drivers/gpio/gpiolib.c:4625)
> > > gpiod_get_index (drivers/gpio/gpiolib.c:4877)
> > > 
> > > The GPIO is setup basically, but the debounce information is discarded.
> > > The platform will assert what debounce should be in _CRS, so program it
> > > at the time it's available.
> > 
> > The spec says for GpioInt():
> > 
> >    DebounceTimeout is an optional argument specifying the debounce wait
> >    time, in hundredths of milliseconds. The bit field name _DBT is
> >    automatically created to refer to this portion of the resource
> >    descriptor.
> > 
> > I was not sure but wanted to check that if it is left out, does ACPICA fill
> > it with 0? If yes (I would expect so) then this is fine.
> 
> Yeah AFAICT you're right.  The ACPI resource is zero'ed out, so if the field
> was empty it should default to zero.

Okay good.

Then from my perspective,

Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>

> > 
> > > Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
> > > ---
> > > v4:
> > 
> > You missed "v4" in the $subject.
> 
> Whoops, thanks.  If there ends up being a reason to spin I'll send the next
> one as a v5.
> 
> > 
> > >   * Just add a direct call instead
> > >   * drop tag
> > >   * update commit message
> > > ---
> > >   drivers/gpio/gpiolib-acpi-core.c | 6 ++++++
> > >   1 file changed, 6 insertions(+)
> > > 
> > > diff --git a/drivers/gpio/gpiolib-acpi-core.c b/drivers/gpio/gpiolib-acpi-core.c
> > > index 12b24a717e43f..6388e8e363dee 100644
> > > --- a/drivers/gpio/gpiolib-acpi-core.c
> > > +++ b/drivers/gpio/gpiolib-acpi-core.c
> > > @@ -944,6 +944,7 @@ struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
> > >   	bool can_fallback = acpi_can_fallback_to_crs(adev, con_id);
> > >   	struct acpi_gpio_info info;
> > >   	struct gpio_desc *desc;
> > > +	int ret;
> > >   	desc = __acpi_find_gpio(fwnode, con_id, idx, can_fallback, &info);
> > >   	if (IS_ERR(desc))
> > > @@ -957,6 +958,11 @@ struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
> > >   	acpi_gpio_update_gpiod_flags(dflags, &info);
> > >   	acpi_gpio_update_gpiod_lookup_flags(lookupflags, &info);
> > > +	/* ACPI uses hundredths of milliseconds units */
> > > +	ret = gpio_set_debounce_timeout(desc, info.debounce * 10);
> > > +	if (ret)
> > > +		return ERR_PTR(ret);
> > > +
> > >   	return desc;
> > >   }
> > > -- 
> > > 2.43.0

  reply	other threads:[~2025-08-19  6:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-18  1:52 [PATCH] gpiolib: acpi: Program debounce when finding GPIO Mario Limonciello (AMD)
2025-08-18  4:55 ` Mika Westerberg
2025-08-18 18:03   ` Mario Limonciello
2025-08-19  6:18     ` Mika Westerberg [this message]
2025-08-20 15:04       ` Andy Shevchenko

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=20250819061813.GJ476609@black.igk.intel.com \
    --to=mika.westerberg@linux.intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=brgl@bgdev.pl \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=superm1@kernel.org \
    --cc=westeri@kernel.org \
    /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