Re: [PATCH] gpiolib: acpi: Support GpioInt with active_low polarity

From: Ricardo Ribalda
Date: Thu Oct 29 2020 - 11:35:11 EST


Hi Andy

On Thu, Oct 29, 2020 at 3:38 PM Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>
> On Wed, Oct 28, 2020 at 06:17:57PM +0100, Ricardo Ribalda wrote:
> > On the current implementation we only support active_high polarity for
> > GpioInt.
> >
> > There can be cases where a GPIO has active_low polarity and it is also a
> > IRQ source.
> >
> > De-couple the irq_polarity and active_low fields instead of re-use it.
> >
> > With this patch we support ACPI devices such as:
>
> Is it real device on the market?!

Yes, it is a chromebook.

>
> This table is broken. _DSD GPIO active_low is only for GpioIo().

AFAIK the format of the _DSD is not in the ACPI standard. We have
decided its fields. (please correct me if I am wrong here)

On the other mail I have described why we need to make use of the
active_low on a GpioInt()

If there is another way of describing ActiveBoth + inverted polarity
please let me know and I will go that way.

Thanks

>
> If it is a ChromeBook, please fix the firmware.
>
> > Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
> > {
> > GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
> > "\\_SB.PCI0.GPIO", 0x00, ResourceConsumer, ,
> > )
> > { // Pin list
> > 0x0064
> > }
> > })
> > Name (_DSD, Package (0x02) // _DSD: Device-Specific Data
> > {
> > ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
> > Package (0x01)
> > {
> > Package (0x02)
> > {
> > "privacy-gpio",
> > Package (0x04)
> > {
> > \_SB.PCI0.XHCI.RHUB.HS07,
> > Zero,
> > Zero,
> > One
> > }
> > }
> > }
> > })
>
>
> --
> With Best Regards,
> Andy Shevchenko
>
>


--
Ricardo Ribalda