[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <653767a7-aa27-9a5c-b37d-e017cf5b12f3@amd.com>
Date: Thu, 6 Jul 2023 09:30:35 -0500
From: "Limonciello, Mario" <mario.limonciello@....com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: Natikar Basavaraj <Basavaraj.Natikar@....com>,
S-k Shyam-sundar <Shyam-sundar.S-k@....com>,
linus.walleij@...aro.org, npliashechnikov@...il.com,
nmschulte@...il.com, friedrich.vock@....de, dridri85@...il.com,
Hans de Goede <hdegoede@...hat.com>,
open list <linux-kernel@...r.kernel.org>,
open list <linux-gpio@...r.kernel.org>
Subject: Re: [PATCH v2 2/4] pinctrl: amd: Use amd_pinconf_set() for all config
options
On 7/6/2023 04:16, Andy Shevchenko wrote:
> On Wed, Jul 05, 2023 at 08:30:03AM -0500, Mario Limonciello wrote:
>> On ASUS TUF A16 it is reported that the ITE5570 ACPI device connected to
>> GPIO 7 is causing an interrupt storm. This issue doesn't happen on
>> Windows.
>>
>> Comparing the GPIO register configuration between Windows and Linux
>> bit 20 has been configured as a pull up on Windows, but not on Linux.
>> Checking GPIO declaration from the firmware it is clear it *should* have
>> been a pull up on Linux as well.
>>
>> ```
>> GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
>> "\\_SB.GPIO", 0x00, ResourceConsumer, ,)
>> { // Pin list
>> 0x0007
>> }
>> ```
>>
>> On Linux amd_gpio_set_config() is currently only used for programming
>> the debounce. Actually the GPIO core calls it with all the arguments
>> that are supported by a GPIO, pinctrl-amd just responds `-ENOTSUPP`.
>>
>> To solve this issue expand amd_gpio_set_config() to support the other
>> arguments amd_pinconf_set() supports, namely `PIN_CONFIG_BIAS_PULL_DOWN`,
>> `PIN_CONFIG_BIAS_PULL_UP`, and `PIN_CONFIG_DRIVE_STRENGTH`.
>
> ...
>
>> @@ -782,7 +770,7 @@ static int amd_pinconf_get(struct pinctrl_dev *pctldev,
>> }
>>
>> static int amd_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
>> - unsigned long *configs, unsigned num_configs)
>> + unsigned long *configs, unsigned int num_configs)
>
> Seems like a stray change.
Right; if necessary I'll pull this into it's own patch instead of
s,unsigned,unsigned long, in this one. It just seemed sensible while
calling this function.
>
>> {
>> int i;
>> u32 arg;
>
> Otherwise entire series looks good to me,
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
>
Thanks!
Powered by blists - more mailing lists