All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@kernel.org
To: platform-driver-x86@vger.kernel.org
Subject: [Bug 214899] ideapad-laptop: brightness hotkeys not working
Date: Sun, 12 Jun 2022 15:25:04 +0000	[thread overview]
Message-ID: <bug-214899-215701-5MUJn3WAlv@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-214899-215701@https.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=214899

--- Comment #29 from Hans de Goede (jwrdegoede@fedoraproject.org) ---
(In reply to Johannes Penßel from comment #28)
> Finally, I have managed to get the keys working. 
> 
> Using ec-dump.exe, I figured out which EC registers hold different values on
> Windows compared to Linux. After writing 0x86 to offset 0xA3, (which is 0x80
> on Linux by default) the keys started working instantly, with proper ACPI
> events and everything.

That is some good detective work on your side!

May I ask how you are writing 0x86 to offset 0xA3 under Linux ?

I think this part of the DSDT is interesting:

        Device (EC0)
        {
            ...

            OperationRegion (ERAX, SystemMemory, 0xFE0B0400, 0xFF)
            Field (ERAX, ByteAcc, Lock, Preserve)
            {
                ...
                Offset (0xA3), 
                OSTY,   3, 
                    ,   1, 
                ADPI,   2, 
                    ,   1, 
                ADPT,   1, 
                ...
            }
            ...

            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If ((Arg0 == 0x03))
                {
                    ECAV = Arg1
                }

                If (((Arg0 == 0x03) && (Arg1 == One)))
                {
                    ...
                    If ((OSYS == 0x07DF))
                    {
                        Local0 = 0x06
                    }

                    If ((Acquire (LFCM, 0xA000) == Zero))
                    {
                        OSTY = Local0


Under Linux OSYS should be 0x06. So this in essence writes 0x06 to the lower 4
bits of the byte at offset 0xA3 of the MMIO region at 0xFE0B0400...

So maybe this is the path which we need to hit, but which for some reason is
not being hit under Linux ... ?

We could try to confirm this with a DSDT override. where we add an extra
unconditional (sow without all the if-s):


                       OSTY = 0x06 

To the top of the _REG method above and then build a new DSDT and use the
initrd override method to inject this. See:

https://docs.kernel.org/admin-guide/acpi/initrd_table_override.html

If you can give this a try that would be great. If the issue turns out to be
that the _REG code is somehow not hitting the desired code-path then that
likely is a generic issue caused by subtle differences between how Linux runs
ACPI code vs how Windows does it. And figuring that out and fixing it will
likely also help on other devices.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

  parent reply	other threads:[~2022-06-12 15:25 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-31 19:28 [Bug 214899] New: ideapad-laptop: platform backlight device not working bugzilla-daemon
2021-11-01 19:35 ` [Bug 214899] " bugzilla-daemon
2021-11-01 20:33 ` bugzilla-daemon
2021-11-01 21:22 ` bugzilla-daemon
2021-11-01 22:17 ` bugzilla-daemon
2021-11-01 22:34 ` bugzilla-daemon
2021-11-01 22:44 ` bugzilla-daemon
2021-11-02  8:13 ` bugzilla-daemon
2021-11-02 14:15 ` bugzilla-daemon
2021-11-02 14:20 ` bugzilla-daemon
2021-11-02 14:30 ` bugzilla-daemon
2021-11-02 14:53 ` bugzilla-daemon
2021-11-02 22:06 ` bugzilla-daemon
2021-11-02 22:15 ` bugzilla-daemon
2021-11-04 21:22 ` bugzilla-daemon
2021-11-15 14:28 ` bugzilla-daemon
2022-02-17  1:20 ` [Bug 214899] ideapad-laptop: brightness hotkeys " bugzilla-daemon
2022-02-17  1:21 ` bugzilla-daemon
2022-04-12 18:45 ` bugzilla-daemon
2022-04-12 21:46 ` bugzilla-daemon
2022-04-25 16:30 ` bugzilla-daemon
2022-04-26 12:54 ` bugzilla-daemon
2022-04-26 12:56 ` bugzilla-daemon
2022-04-27 12:03 ` bugzilla-daemon
2022-04-29 15:04 ` bugzilla-daemon
2022-04-29 16:29 ` bugzilla-daemon
2022-06-10 20:07 ` bugzilla-daemon
2022-06-12 15:25 ` bugzilla-daemon [this message]
2022-06-12 15:32 ` bugzilla-daemon
2022-06-13  9:18 ` bugzilla-daemon
2022-06-13 10:30 ` bugzilla-daemon
2022-06-13 13:17 ` bugzilla-daemon
2022-06-13 21:23 ` bugzilla-daemon
2022-06-14 13:41 ` bugzilla-daemon
2022-06-14 18:48 ` bugzilla-daemon
2022-06-14 19:14 ` bugzilla-daemon
2022-06-15  9:39 ` bugzilla-daemon
2022-06-15  9:46 ` bugzilla-daemon
2022-06-15 16:36 ` bugzilla-daemon
2022-06-15 20:27 ` bugzilla-daemon
2022-06-26 15:38 ` bugzilla-daemon
2022-07-03 20:44 ` bugzilla-daemon
2022-07-04 10:12 ` bugzilla-daemon
2022-07-04 10:12 ` bugzilla-daemon
2022-07-04 10:14 ` bugzilla-daemon
2022-07-04 10:34 ` bugzilla-daemon
2022-07-05  7:59 ` bugzilla-daemon
2022-07-10 15:30 ` bugzilla-daemon
2022-07-30 19:04 ` bugzilla-daemon
2022-07-31  1:46 ` bugzilla-daemon
2022-07-31  3:41 ` bugzilla-daemon
2022-10-03 14:32 ` bugzilla-daemon
2022-10-03 14:32 ` bugzilla-daemon
2022-10-03 14:33 ` bugzilla-daemon
2022-10-03 14:33 ` bugzilla-daemon
2022-10-05 23:21 ` bugzilla-daemon
2022-10-06  7:38 ` bugzilla-daemon
2022-10-29  2:48 ` bugzilla-daemon
2022-10-30  9:54 ` bugzilla-daemon
2023-01-24  8:20 ` bugzilla-daemon
2023-01-24  9:32 ` bugzilla-daemon

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=bug-214899-215701-5MUJn3WAlv@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@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.