From: Peter Hutterer <peter.hutterer@who-t.net>
To: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: "Zheng, Lv" <lv.zheng@intel.com>,
"Wysocki, Rafael J" <rafael.j.wysocki@intel.com>,
"Rafael J . Wysocki" <rjw@rjwysocki.net>,
"Brown, Len" <len.brown@intel.com>, Lv Zheng <zetalog@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"systemd-devel@lists.freedesktop.org"
<systemd-devel@lists.freedesktop.org>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>
Subject: Re: [WIP PATCH 2/4] ACPI: button: remove the LID input node when the state is unknown
Date: Wed, 7 Jun 2017 11:27:50 +1000 [thread overview]
Message-ID: <20170607012750.GB13738@jelly> (raw)
In-Reply-To: <20170606102209.GA14880@mail.corp.redhat.com>
On Tue, Jun 06, 2017 at 12:22:09PM +0200, Benjamin Tissoires wrote:
[...]
> > This is because the aml table puts many Notify(LID, 0x80) in various control methods.
> > And not one of them but multiple of them will be invoked by various OS drivers during suspend/resume period.
> > I think this is not an isolated platform that will invoke multiple redundant "Notify(lid)".
> >
> > Fortunately, the lid state for the multiple notify(lid) should be same as the first "Notify(lid)".
> > I suppose this is why SW_LID is invented, as it can really filter such redundant events.
> > And user space finally can only see 1 "close" event.
> >
> > But unconditionally prepending "open" before all "close" events surely can break the logic by
> > delivering multiple "close" events to the user space.
>
> That doesn't matter. What matters is the state of the switch, not the
> event. So if user space receives (in case we marked the switch as not
> reliable) several close events, all user space will do is realize that
> the state is still closed and will act accordingly.
[...]
> Again, we don't care if the "event" comes from ACPI, the driver itself or
> user space (libinput). All that matters is the current state of the
> input node switch, that needs to match the physical world at any time.
as extra comment on those two: you cannot guarantee when e.g. libinput
checks the state. it may start up after the kernel has updated the EV_SW
state, it may close and re-open a device without notice (disabling a
device in X has that effect for example). So the EV_SW/SW_LID events are
nice to have, but we really rely on the *state* of the switch more than the
events.
Cheers,
Peter
next prev parent reply other threads:[~2017-06-07 1:27 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-01 18:46 [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI Benjamin Tissoires
2017-06-01 18:46 ` [WIP PATCH 1/4] ACPI: button: extract input creation/destruction helpers Benjamin Tissoires
2017-06-01 18:46 ` [WIP PATCH 2/4] ACPI: button: remove the LID input node when the state is unknown Benjamin Tissoires
2017-06-05 3:19 ` Zheng, Lv
2017-06-06 10:22 ` Benjamin Tissoires
2017-06-07 1:27 ` Peter Hutterer [this message]
2017-06-07 9:56 ` Zheng, Lv
2017-06-01 18:46 ` [WIP PATCH 3/4] ACPI: button: Let input filter out the LID events Benjamin Tissoires
2017-06-05 4:28 ` Zheng, Lv
2017-06-06 10:31 ` Benjamin Tissoires
2017-06-01 18:46 ` [WIP PATCH 4/4] ACPI: button: Fix lid notification locks Benjamin Tissoires
2017-06-05 3:33 ` Zheng, Lv
2017-06-06 10:29 ` Benjamin Tissoires
2017-06-07 9:47 ` Zheng, Lv
2017-06-01 21:43 ` [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI Bastien Nocera
2017-06-02 7:24 ` Benjamin Tissoires
2017-06-05 2:25 ` Zheng, Lv
2017-06-07 7:48 ` Lennart Poettering
2017-06-13 10:06 ` Benjamin Tissoires
2017-06-15 2:52 ` [systemd-devel] " Zheng, Lv
2017-06-15 6:47 ` Peter Hutterer
2017-06-15 7:33 ` Zheng, Lv
2017-06-15 7:57 ` Peter Hutterer
2017-06-16 5:37 ` Zheng, Lv
2017-06-16 7:23 ` Benjamin Tissoires
2017-06-16 7:45 ` Zheng, Lv
2017-06-16 8:09 ` Benjamin Tissoires
2017-06-16 8:53 ` [systemd-devel] " Zheng, Lv
2017-06-16 9:06 ` Bastien Nocera
2017-06-16 16:32 ` Lennart Poettering
2017-06-19 2:16 ` Zheng, Lv
2017-06-19 1:43 ` Zheng, Lv
2017-06-19 22:08 ` Bastien Nocera
2017-06-20 2:45 ` [systemd-devel] " Zheng, Lv
2017-06-21 10:23 ` Bastien Nocera
2017-06-22 3:16 ` Zheng, Lv
2017-06-14 23:50 ` Zheng, Lv
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=20170607012750.GB13738@jelly \
--to=peter.hutterer@who-t.net \
--cc=benjamin.tissoires@redhat.com \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lv.zheng@intel.com \
--cc=rafael.j.wysocki@intel.com \
--cc=rjw@rjwysocki.net \
--cc=systemd-devel@lists.freedesktop.org \
--cc=zetalog@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).