From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: Bastien Nocera <hadess@hadess.net>, linux-input@vger.kernel.org
Subject: Re: [PATCH regression fix 1/1] Input: goodix - Try not to touch the reset-pin on x86/ACPI devices
Date: Mon, 6 Dec 2021 23:18:59 -0800 [thread overview]
Message-ID: <Ya8K4zBzwveylJDm@google.com> (raw)
In-Reply-To: <20211206091116.44466-2-hdegoede@redhat.com>
On Mon, Dec 06, 2021 at 10:11:16AM +0100, Hans de Goede wrote:
> Unless the controller is not responding at boot or after suspend/resume,
> the driver never resets the controller on x86/ACPI platforms. The driver
> still requesting the reset pin at probe() though in case it needs it.
>
> Until now the driver has always requested the reset pin with GPIOD_IN
> as type. The idea being to put the pin in high-impedance mode to save
> power until the driver actually wants to issue a reset.
>
> But this means that just requesting the pin can cause issues, since
> requesting it in another mode then GPIOD_ASIS may cause the pinctrl
> driver to touch the pin settings. We have already had issues before
> due to a bug in the pinctrl-cherryview.c driver which has been fixed in
> commit 921daeeca91b ("pinctrl: cherryview: Preserve
> CHV_PADCTRL1_INVRXTX_TXDATA flag on GPIOs").
>
> And now it turns out that requesting the reset-pin as GPIOD_IN also stops
> the touchscreen from working on the GPD P2 max mini-laptop. The behavior
> of putting the pin in high-impedance mode relies on there being some
> external pull-up to keep it high and there seems to be no pull-up on the
> GPD P2 max, causing things to break.
>
> This commit fixes this by requesting the reset pin as is when using
> the x86/ACPI code paths to lookup the GPIOs; and by not dropping it
> back into input-mode in case the driver does end up issuing a reset
> for error-recovery.
>
> BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=209061
> Fixes: a7d4b171660c ("Input: goodix - add support for getting IRQ + reset GPIOs on Cherry Trail devices")
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Applied, thank you.
--
Dmitry
prev parent reply other threads:[~2021-12-07 7:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-06 9:11 [PATCH regression fix 0/1] Input: goodix - Try not to touch the reset-pin on x86/ACPI devices Hans de Goede
2021-12-06 9:11 ` [PATCH regression fix 1/1] " Hans de Goede
2021-12-07 7:18 ` Dmitry Torokhov [this message]
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=Ya8K4zBzwveylJDm@google.com \
--to=dmitry.torokhov@gmail.com \
--cc=hadess@hadess.net \
--cc=hdegoede@redhat.com \
--cc=linux-input@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.