<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/pinctrl/pinctrl-amd.c, branch linux-4.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-07-20T14:21:09Z</updated>
<entry>
<title>pinctrl/amd: Add device HID for new AMD GPIO controller</title>
<updated>2021-07-20T14:21:09Z</updated>
<author>
<name>Maximilian Luz</name>
</author>
<published>2021-05-12T21:03:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=427feaf2ee9cf78a2b61380c8072b1be08a4ffea'/>
<id>urn:sha1:427feaf2ee9cf78a2b61380c8072b1be08a4ffea</id>
<content type='text'>
commit 1ca46d3e43569186bd1decfb02a6b4c4ddb4304b upstream.

Add device HID AMDI0031 to the AMD GPIO controller driver match table.
This controller can be found on Microsoft Surface Laptop 4 devices and
seems similar enough that we can just copy the existing AMDI0030 entry.

Cc: &lt;stable@vger.kernel.org&gt; # 5.10+
Tested-by: Sachi King &lt;nakato@nakato.io&gt;
Signed-off-by: Maximilian Luz &lt;luzmaximilian@gmail.com&gt;
Link: https://lore.kernel.org/r/20210512210316.1982416-1-luzmaximilian@gmail.com
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pinctrl: amd: remove debounce filter setting in IRQ type setting</title>
<updated>2020-12-29T12:44:48Z</updated>
<author>
<name>Coiby Xu</name>
</author>
<published>2020-11-25T13:03:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=393c9edaf78b703c650d411ab77fdb1a7cf1e7d5'/>
<id>urn:sha1:393c9edaf78b703c650d411ab77fdb1a7cf1e7d5</id>
<content type='text'>
commit 47a0001436352c9853d72bf2071e85b316d688a2 upstream.

Debounce filter setting should be independent from IRQ type setting
because according to the ACPI specs, there are separate arguments for
specifying debounce timeout and IRQ type in GpioIo() and GpioInt().

Together with commit 06abe8291bc31839950f7d0362d9979edc88a666
("pinctrl: amd: fix incorrect way to disable debounce filter") and
Andy's patch "gpiolib: acpi: Take into account debounce settings" [1],
this will fix broken touchpads for laptops whose BIOS set the
debounce timeout to a relatively large value. For example, the BIOS
of Lenovo AMD gaming laptops including Legion-5 15ARH05 (R7000),
Legion-5P (R7000P) and IdeaPad Gaming 3 15ARH05, set the debounce
timeout to 124.8ms. This led to the kernel receiving only ~7 HID
reports per second from the Synaptics touchpad
(MSFT0001:00 06CB:7F28).

Existing touchpads like [2][3] are not troubled by this bug because
the debounce timeout has been set to 0 by the BIOS before enabling
the debounce filter in setting IRQ type.

[1] https://lore.kernel.org/linux-gpio/20201111222008.39993-11-andriy.shevchenko@linux.intel.com/
    8dcb7a15a585 ("gpiolib: acpi: Take into account debounce settings")
[2] https://github.com/Syniurge/i2c-amd-mp2/issues/11#issuecomment-721331582
[3] https://forum.manjaro.org/t/random-short-touchpad-freezes/30832/28

Signed-off-by: Coiby Xu &lt;coiby.xu@gmail.com&gt;
Reviewed-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;
Cc: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;
Cc: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/linux-gpio/CAHp75VcwiGREBUJ0A06EEw-SyabqYsp%2Bdqs2DpSrhaY-2GVdAA%40mail.gmail.com/
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1887190
Link: https://lore.kernel.org/r/20201125130320.311059-1-coiby.xu@gmail.com
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pinctrl: amd: fix incorrect way to disable debounce filter</title>
<updated>2020-11-18T17:26:28Z</updated>
<author>
<name>Coiby Xu</name>
</author>
<published>2020-11-05T23:19:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98699510d42f2ba586d9e72e738fc7c8c08ec21c'/>
<id>urn:sha1:98699510d42f2ba586d9e72e738fc7c8c08ec21c</id>
<content type='text'>
commit 06abe8291bc31839950f7d0362d9979edc88a666 upstream.

The correct way to disable debounce filter is to clear bit 5 and 6
of the register.

Cc: stable@vger.kerne.org
Signed-off-by: Coiby Xu &lt;coiby.xu@gmail.com&gt;
Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: Hans de Goede &lt;hdegoede@redhat.com&gt;
Link: https://lore.kernel.org/linux-gpio/df2c008b-e7b5-4fdd-42ea-4d1c62b52139@redhat.com/
Link: https://lore.kernel.org/r/20201105231912.69527-2-coiby.xu@gmail.com
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pinctrl: amd: use higher precision for 512 RtcClk</title>
<updated>2020-11-18T17:26:28Z</updated>
<author>
<name>Coiby Xu</name>
</author>
<published>2020-11-05T23:19:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b71d2fc983a1dbe3c35b3262a730bb5011dcd0f3'/>
<id>urn:sha1:b71d2fc983a1dbe3c35b3262a730bb5011dcd0f3</id>
<content type='text'>
commit c64a6a0d4a928c63e5bc3b485552a8903a506c36 upstream.

RTC is 32.768kHz thus 512 RtcClk equals 15625 usec. The documentation
likely has dropped precision and that's why the driver mistakenly took
the slightly deviated value.

Cc: stable@vger.kernel.org
Reported-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;
Suggested-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;
Suggested-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Coiby Xu &lt;coiby.xu@gmail.com&gt;
Reviewed-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;
Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Link: https://lore.kernel.org/linux-gpio/2f4706a1-502f-75f0-9596-cc25b4933b6c@redhat.com/
Link: https://lore.kernel.org/r/20201105231912.69527-3-coiby.xu@gmail.com
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pinctrl/amd: save pin registers over suspend/resume</title>
<updated>2017-09-27T12:39:19Z</updated>
<author>
<name>Daniel Drake</name>
</author>
<published>2017-09-11T06:11:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6053a5fec5692f65b1dcf191ef88f147fc0f7525'/>
<id>urn:sha1:6053a5fec5692f65b1dcf191ef88f147fc0f7525</id>
<content type='text'>
commit 79d2c8bede2c93f9432d7da0bc2f76a195c90fc0 upstream.

The touchpad in the Asus laptop models X505BA/BP and X542BA/BP is
unresponsive after suspend/resume. The following error appears during
resume:

  i2c_hid i2c-ELAN1300:00: failed to reset device.

The problem here is that i2c_hid does not notice the interrupt being
generated at this point, because the GPIO is no longer configured
for interrupts.

Fix this by saving pinctrl-amd pin registers during suspend and
restoring them at resume time.

Based on code from pinctrl-intel.

Signed-off-by: Daniel Drake &lt;drake@endlessm.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pinctrl/amd: Set the level based on ACPI tables</title>
<updated>2017-01-12T10:39:07Z</updated>
<author>
<name>Shyam Sundar S K</name>
</author>
<published>2016-12-08T12:01:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3c4eef31670361212d4f762c9420fa9a4ff160c0'/>
<id>urn:sha1:3c4eef31670361212d4f762c9420fa9a4ff160c0</id>
<content type='text'>
commit 2983f296f2327bc517e3b29344fce82271160197 upstream.

In the function amd_gpio_irq_set_type, read the values from
the ACPI table to set the level and drop the settings passed
by the client.

Reviewed-by: Pankaj Sen &lt;Pankaj.Sen@amd.com&gt;
Reviewed-by: Nitesh Kumar Agrawal &lt;Nitesh-kumar.Agrawal@amd.com&gt;
Reviewed-by: Shah, Nehal-bakulchandra &lt;Nehal-bakulchandra.Shah@amd.com&gt;
Signed-off-by: Shyam-sundar S-k &lt;Shyam-sundar.S-k@amd.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge tag 'v4.8-rc6' into devel</title>
<updated>2016-09-23T12:57:16Z</updated>
<author>
<name>Linus Walleij</name>
</author>
<published>2016-09-23T12:57:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0565f49cfe937640c2347f6d7f40ad2f4e4f088b'/>
<id>urn:sha1:0565f49cfe937640c2347f6d7f40ad2f4e4f088b</id>
<content type='text'>
Linux 4.8-rc6
</content>
</entry>
<entry>
<title>pinctrl/amd: switch to using a bool for level</title>
<updated>2016-09-13T08:24:37Z</updated>
<author>
<name>Agrawal, Nitesh-kumar</name>
</author>
<published>2016-09-09T15:18:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e084448b5d26bfebe8a7b9c43bb57e685567563d'/>
<id>urn:sha1:e084448b5d26bfebe8a7b9c43bb57e685567563d</id>
<content type='text'>
The earlier patch can be simplified by using a bool
to indicate level trigger.

Reviewed-by: Pankaj Sen &lt;Pankaj.Sen@amd.com&gt;
Signed-off-by: Nitesh Kumar Agrawal &lt;Nitesh-kumar.Agrawal@amd.com&gt;
[Fixup to earlier manually applied patch]
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>pinctrl/amd: Configure GPIO register using BIOS settings</title>
<updated>2016-09-07T19:48:16Z</updated>
<author>
<name>Agrawal, Nitesh-kumar</name>
</author>
<published>2016-08-31T08:50:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=499c7196dd182ba513ccb9620ee22aed3f9096fd'/>
<id>urn:sha1:499c7196dd182ba513ccb9620ee22aed3f9096fd</id>
<content type='text'>
In the function amd_gpio_irq_set_type, use the settings provided by
the BIOS,when the LevelTrig is Edge and activeLevel is HIGH, to configure
the GPIO registers. Ignore the settings from client.

Reviewed-by: Pankaj Sen &lt;Pankaj.Sen@amd.com&gt;
Signed-off-by:Nitesh Kumar Agrawal &lt;Nitesh-kumar.Agrawal@amd.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>pinctrl/amd: Remove the default de-bounce time</title>
<updated>2016-08-10T13:45:54Z</updated>
<author>
<name>Agrawal, Nitesh-kumar</name>
</author>
<published>2016-07-26T08:28:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8cf4345575a416e6856a6856ac6eaa31ad883126'/>
<id>urn:sha1:8cf4345575a416e6856a6856ac6eaa31ad883126</id>
<content type='text'>
In the function amd_gpio_irq_enable() and
amd_gpio_direction_input(), remove the code which is setting
the default de-bounce time to 2.75ms.

The driver code shall use the same settings as specified in
BIOS. Any default assignment impacts TouchPad behaviour when
the LevelTrig is set to EDGE FALLING.

Cc: stable@vger.kernel.org
Reviewed-by:  Ken Xue &lt;Ken.Xue@amd.com&gt;
Signed-off-by: Nitesh Kumar Agrawal &lt;Nitesh-kumar.Agrawal@amd.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
</feed>
