From: Gergo Koteles <soyer@irl.hu>
To: "Hans de Goede" <hdegoede@redhat.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Ike Panhc" <ike.pan@canonical.com>
Cc: platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org, Gergo Koteles <soyer@irl.hu>
Subject: [PATCH v4 0/4] platform/x86: ideapad-laptop: synchronize VPC commands
Date: Thu, 25 Jul 2024 11:21:06 +0200 [thread overview]
Message-ID: <cover.1721898747.git.soyer@irl.hu> (raw)
Hi,
Sometimes the Yoga mode control switch did not work properly on my
laptop, and sometimes even caused a platform profile switch. It turned
out that it was caused by a race situation, the lenovo-ymc wmi notify
handler was running at the same time as the ideapad-laptop acpi notify
handler, and the partial results of the VPC calls in the two were mixed
up.
This series introduces a notification chain to receive YMC or other
events, moves the EC triggering into ideapad-laptop, and then introduces
a mutex to eliminate the problem.
Best regards,
Gergo Koteles
---
Changes in v4:
- Handle the return value of devm_mutex_init
- Link to v3: https://lore.kernel.org/all/cover.1721294787.git.soyer@irl.hu/
Changes in v3:
- Use devm_mutex_init for vpc_mutex
- Link to v2: https://lore.kernel.org/all/cover.1721258854.git.soyer@irl.hu/
Changes in v2:
- Skip the already merged "platform/x86: ideapad-laptop: use cleanup.h" commit
- Based on the WMI driver development guide and the dell drivers,
introduce a generic notification chain
- Use the notification chain to send the YMC event from lenovo-ymc to
the ideapad-laptop module
- Move the ec_trigger module parameter to the ideapad-laptop as well
- Mutex changes go into one patch
- Link to v1: https://lore.kernel.org/all/cover.1720515666.git.soyer@irl.hu/
---
Gergo Koteles (4):
platform/x86: ideapad-laptop: introduce a generic notification chain
platform/x86: ideapad-laptop: move ymc_trigger_ec from lenovo-ymc
platform/x86: ideapad-laptop: move ACPI helpers from header to source
file
platform/x86: ideapad-laptop: add a mutex to synchronize VPC commands
drivers/platform/x86/Kconfig | 1 +
drivers/platform/x86/ideapad-laptop.c | 284 ++++++++++++++++++++++++--
drivers/platform/x86/ideapad-laptop.h | 142 +------------
drivers/platform/x86/lenovo-ymc.c | 60 +-----
4 files changed, 277 insertions(+), 210 deletions(-)
--
2.45.2
next reply other threads:[~2024-07-25 9:21 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-25 9:21 Gergo Koteles [this message]
2024-07-25 9:21 ` [PATCH v4 1/4] platform/x86: ideapad-laptop: introduce a generic notification chain Gergo Koteles
2024-07-25 9:21 ` [PATCH v4 2/4] platform/x86: ideapad-laptop: move ymc_trigger_ec from lenovo-ymc Gergo Koteles
2024-07-25 9:21 ` [PATCH v4 3/4] platform/x86: ideapad-laptop: move ACPI helpers from header to source file Gergo Koteles
2024-08-12 15:38 ` Hans de Goede
2024-07-25 9:21 ` [PATCH v4 4/4] platform/x86: ideapad-laptop: add a mutex to synchronize VPC commands Gergo Koteles
2024-07-30 13:37 ` Ilpo Järvinen
2024-07-30 16:00 ` Gergo Koteles
2024-08-08 12:16 ` Ilpo Järvinen
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=cover.1721898747.git.soyer@irl.hu \
--to=soyer@irl.hu \
--cc=hdegoede@redhat.com \
--cc=ike.pan@canonical.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@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.