Re: [PATCH v6 00/22] Add support for binding ACPI platform profile to multiple drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 12, 2024 at 9:20 PM Mario Limonciello
<mario.limonciello@xxxxxxx> wrote:
>
> On 11/12/2024 14:16, Rafael J. Wysocki wrote:
> > On Sat, Nov 9, 2024 at 5:42 AM Mario Limonciello
> > <mario.limonciello@xxxxxxx> wrote:
> >>
> >> Currently there are a number of ASUS products on the market that happen to
> >> have ACPI objects for amd-pmf to bind to as well as an ACPI platform
> >> profile provided by asus-wmi.
> >>
> >> The ACPI platform profile support created by amd-pmf on these ASUS
> >> products is "Function 9" which is specifically for "BIOS or EC
> >> notification" of power slider position. This feature is actively used
> >> by some designs such as Framework 13 and Framework 16.
> >>
> >> On these ASUS designs we keep on quirking more and more of them to turn
> >> off this notification so that asus-wmi can bind.
> >>
> >> This however isn't how Windows works.  "Multiple" things are notified for
> >> the power slider position. This series adjusts Linux to behave similarly.
> >>
> >> Multiple drivers can now register an ACPI platform profile and will react
> >> to set requests.
> >>
> >> To avoid chaos, only positions that are common to both drivers are
> >> accepted when the legacy /sys/firmware/acpi/platform_profile interface
> >> is used.
> >>
> >> This series also adds a new concept of a "custom" profile.  This allows
> >> userspace to discover that there are multiple driver handlers that are
> >> configured differently.
> >>
> >> This series also allows dropping all of the PMF quirks from amd-pmf.
> >>
> >> ---
> >> v6:
> >>   * Add patch dev patch but don't make mandatory
> >
> > Probably a typo?
>
> Ah whoops, yes.
>
> >
> > Which patch is it, BTW?
>
> Patch 3.
>
> >
> > In any case, if the merge window for 6.13 starts on the upcoming
> > weekend, which is likely to happen AFAICS, I'll defer applying this
> > series until 6.13-rc1 is out.
> >
> > It's larger and it's been changing too often recently for me to catch
> > up and I'll be much more comfortable if it spends some time in
> > linux-next before going into the mainline (and not during a merge
> > window for that matter).
> >
>
> I'm thankful; Armin ended up having a lot of very valuable feedback.
>
> Yeah, it makes sense to defer to next cycle.
>
> Would you prefer me to rebase and resend as v7 after the merge window or
> will you just add it to a TODO?

If rebasing is needed, it will be welcome.  Also if you need/want to
make any changes in the meantime, please respin.  Otherwise I can just
pick up the current series.

> >>   * See other patches changelogs for individualized changes
> >>
> >> Mario Limonciello (22):
> >>    ACPI: platform-profile: Add a name member to handlers
> >>    platform/x86/dell: dell-pc: Create platform device
> >>    ACPI: platform_profile: Add device pointer into platform profile
> >>      handler
> >>    ACPI: platform_profile: Add platform handler argument to
> >>      platform_profile_remove()
> >>    ACPI: platform_profile: Pass the profile handler into
> >>      platform_profile_notify()
> >>    ACPI: platform_profile: Move sanity check out of the mutex
> >>    ACPI: platform_profile: Move matching string for new profile out of
> >>      mutex
> >>    ACPI: platform_profile: Use guard(mutex) for register/unregister
> >>    ACPI: platform_profile: Use `scoped_cond_guard`
> >>    ACPI: platform_profile: Create class for ACPI platform profile
> >>    ACPI: platform_profile: Add name attribute to class interface
> >>    ACPI: platform_profile: Add choices attribute for class interface
> >>    ACPI: platform_profile: Add profile attribute for class interface
> >>    ACPI: platform_profile: Notify change events on register and
> >>      unregister
> >>    ACPI: platform_profile: Only show profiles common for all handlers
> >>    ACPI: platform_profile: Add concept of a "custom" profile
> >>    ACPI: platform_profile: Make sure all profile handlers agree on
> >>      profile
> >>    ACPI: platform_profile: Check all profile handler to calculate next
> >>    ACPI: platform_profile: Notify class device from
> >>      platform_profile_notify()
> >>    ACPI: platform_profile: Allow multiple handlers
> >>    platform/x86/amd: pmf: Drop all quirks
> >>    Documentation: Add documentation about class interface for platform
> >>      profiles
> >>
> >>   .../ABI/testing/sysfs-platform_profile        |   5 +
> >>   .../userspace-api/sysfs-platform_profile.rst  |  28 +
> >>   drivers/acpi/platform_profile.c               | 537 ++++++++++++++----
> >>   .../surface/surface_platform_profile.c        |   8 +-
> >>   drivers/platform/x86/acer-wmi.c               |  12 +-
> >>   drivers/platform/x86/amd/pmf/Makefile         |   2 +-
> >>   drivers/platform/x86/amd/pmf/core.c           |   1 -
> >>   drivers/platform/x86/amd/pmf/pmf-quirks.c     |  66 ---
> >>   drivers/platform/x86/amd/pmf/pmf.h            |   3 -
> >>   drivers/platform/x86/amd/pmf/sps.c            |   4 +-
> >>   drivers/platform/x86/asus-wmi.c               |  10 +-
> >>   drivers/platform/x86/dell/alienware-wmi.c     |   8 +-
> >>   drivers/platform/x86/dell/dell-pc.c           |  36 +-
> >>   drivers/platform/x86/hp/hp-wmi.c              |   8 +-
> >>   drivers/platform/x86/ideapad-laptop.c         |   6 +-
> >>   .../platform/x86/inspur_platform_profile.c    |   7 +-
> >>   drivers/platform/x86/thinkpad_acpi.c          |  16 +-
> >>   include/linux/platform_profile.h              |   9 +-
> >>   18 files changed, 553 insertions(+), 213 deletions(-)
> >>   delete mode 100644 drivers/platform/x86/amd/pmf/pmf-quirks.c
> >>
> >>
> >> base-commit: d68cb6023356af3bd3193983ad4ec03954a0b3e2
> >> --
> >> 2.43.0
> >>
>





[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux