From: Gabriele Mazzotta <gabriele.mzt@gmail.com>
To: Darren Hart <dvhart@infradead.org>,
Andrei Borzenkov <arvidjaar@gmail.com>
Cc: "Pali Rohár" <pali.rohar@gmail.com>,
platform-driver-x86@vger.kernel.org, mjg59@srcf.ucam.org
Subject: Re: Regression with dell-rbtn: radio killed on resume after suspend to RAM
Date: Mon, 23 Nov 2015 23:33:11 +0100 [thread overview]
Message-ID: <56539427.5090304@gmail.com> (raw)
In-Reply-To: <20151123192943.GY7413@malice.jf.intel.com>
On 23/11/2015 20:29, Darren Hart wrote:
[cut]
>> I looked at what dell-rbtn does. My system (Latitude E5450) has RBTN of type
>> TOGGLE. In this case both del-laptop hooks itself into i8042 and dell-rbtn
>> delivers KEY_RFKILL event to input susbsystem. IOW dell-rbtn looks
>> completely redundant in this configuration.
>>
>> Can we detect that rfkill toggle is already avaiable via normal keyboard and
>> not activate dell-rbtn in this case?
>
> Also dropping this one until we can arrive at a complete solution.
>
> Pali, Gabriele, this one is in your hands. I will review and provide feedback
> where I can - I confess I'm finding it difficult to keep all the pieces straight
> in my head, and without any hardware, I have to rely entirely on what I can
> piece together (a situation we are all in as this differs across many systems,
> nobody has all the necessary bits).
>
> It may be helpful for someone to put together a current status, known issues,
> plan of attack to get this moving forward again.
>
I'll try to write a summary that should explain why dell-rbtn exists
and what are the current problems.
There are several mechanisms to control radio devices, so let's
consider different categories/cases.
A) The function keys of new Dell laptops do nothing on their own, but
when pressed, the BIOS sends a notification to an ACPI device
(DELLABCE/DELRBTN). One of the tasks of dell-rbtn is to catch those
notifications and send an input event to userspace. Without dell-rbtn,
the function keys of these laptops wouldn't work.
B) There are then some other laptops which support two different
mechanisms to control radio devices: the one here above (A) and
"the old one", i.e. the BIOS does everything. (These are probably
laptops that were released during the transition Windows 7 -> 8). These
laptops can switch between the two modes through an ACPI method call.
What we do with dell-rbtn is to make them behave like (A) since we
can't tell apart laptops of (A) and (B) and we need to know how each
laptop behaves. The function key of these laptops work perfectly
without dell-rbtn.
C) There are then some other laptops for which it's required to use an
i8042 filter to detect keypresses and do some SMI calls to toggle
the state of radio devices. This filter is created by dell-laptop and
has been there since a long time.
D) This category is something in between (C) and (A) and exists only
because of dell-rbtn. Some of the laptops of category (C) also have a
DELLABCE/DELLRBTN device. When dell-rbtn is loaded, the i8042 filter is
removed and dell-rbtn starts listening for ACPI notification. We do
this instead because the i8042 filter doesn't work properly on some
laptops.
The problem reported in [1] is that some laptops of (A) and (B) send a
notification on resume and some others don't. [2] should fix this
problem, but we need to make sure that the extra notification is always
caught before the resume of dell-rbtn. This seems to be what happens
here on my laptop, but Andrei says otherwise. So we need to figure out
if [2] doesn't fix the problem because it's not guaranteed that ACPI
notifications sent while the system is resuming are received by device
drivers before they are resumed (assumption that I made for the first
patch and that dropped with the updated one I sent in this thread) or
because Andrei's problem is something different.
I hope this was clear enough.
Andrei, as I wrote here above, dell-rbtn _should_ make dell-laptop
remove the i8042 filter. Could you also provide your acpidump so that
I can see it?
[1] https://bugzilla.kernel.org/show_bug.cgi?id=106031
[2]
http://lkml.kernel.org/r/1448115375-7315-1-git-send-email-gabriele.mzt@gmail.com
next prev parent reply other threads:[~2015-11-23 22:33 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-21 18:57 Regression with dell-rbtn: radio killed on resume after suspend to RAM Andrei Borzenkov
2015-11-21 19:08 ` Pali Rohár
2015-11-21 20:39 ` Andrei Borzenkov
2015-11-22 6:23 ` Andrei Borzenkov
2015-11-23 14:50 ` Pali Rohár
2015-11-23 15:14 ` Gabriele Mazzotta
2015-11-23 16:23 ` Andrei Borzenkov
2015-11-23 19:29 ` Darren Hart
2015-11-23 22:33 ` Gabriele Mazzotta [this message]
[not found] ` <5653E243.9010707@gmail.com>
2015-11-24 8:32 ` Pali Rohár
2015-11-24 8:49 ` Gabriele Mazzotta
2015-11-24 8:52 ` Matthew Garrett
2015-11-24 9:02 ` Pali Rohár
2015-11-24 9:42 ` Gabriele Mazzotta
2015-11-25 3:57 ` Andrei Borzenkov
2015-11-25 3:53 ` Andrei Borzenkov
2015-11-25 8:34 ` Andrei Borzenkov
2015-11-25 8:35 ` Pali Rohár
2015-11-25 9:31 ` Gabriele Mazzotta
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=56539427.5090304@gmail.com \
--to=gabriele.mzt@gmail.com \
--cc=arvidjaar@gmail.com \
--cc=dvhart@infradead.org \
--cc=mjg59@srcf.ucam.org \
--cc=pali.rohar@gmail.com \
--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.