From: Szymon Olko <szymonolko@o2.pl>
To: corentincj@iksaif.net
Cc: lenb@kernel.org, acpi4asus-user@lists.sourceforge.net,
linux-acpi@vger.kernel.org
Subject: Re: Notify(0x88) (was Re: Asus V1j)
Date: Mon, 26 Mar 2007 22:26:08 +0300 [thread overview]
Message-ID: <46081E50.6040506@o2.pl> (raw)
In-Reply-To: <200703260032.46355.lenb@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 4975 bytes --]
4. Multimedia button, the first on the left side from top buttons. On
> windows it runs full screen application to what movies, presentation and
> listen music. I made a change like with brightness buttons:
>
> Method (_Q51, 0, NotSerialized)
> //multimedia (top)
> {
> /*
> \_SB.PCI0.SBRG.EC0.WRAM (0x04, 0xCB, 0x09)
> Store (One, Local0)
> While (Local0)
> {
> If (\_SB.ATKP)
> {
> SPIN (0x23, 0x00)
> Sleep (0x32)
> SPIN (0x23, 0x01)
> }
>
> Store (Zero, Local2)
> If (\_SB.PCI0.SBRG.EC0.RPIN (0x43))
> {
> Or (Local2, 0x04, Local2)
> }
>
> If (\_SB.PCI0.SBRG.EC0.RPIN (0x43))
> {
> Or (Local2, 0x02, Local2)
> }
>
> If (\_SB.PCI0.SBRG.EC0.RPIN (0x43))
> {
> Or (Local2, 0x01, Local2)
> }
>
> If (LEqual (Local2, 0x07))
> {
> \_SB.PCI0.SBRG.EC0.WRAM (0x04, 0xCB, 0x89)
> Notify (\_SB.ATKD, 0x95)
> Store (Zero, Local0)
> }
> }
> */
> If (\_SB.ATKP)
> {
> Notify (\_SB.ATKD, 0x68)
> }
> }
> But it notify to the /proc/acpi/event for the first time it is pressed.
> Next time I press it, it does do nothing. Again I need more time to look
> what this method should do but looking on the code it is strange that
> \_SB.PCI0.SBRG.EC0.RPIN (0x43) is checked few times. This is still
> pending to be solved. Maybe I commended to much, and there is no state
> wrote to memory, and that is why it is not called again.
I uncommented fully this method. I only changed code 0x95 to 0x68 and now it works very well. I noticed that when method was commented pressing method worked once time only. After soft reboot BIOS test screen was very ugly, colors ware not the one that should be, and letters look like on broken screen. Now everything is ok. This lead to problem with codes bigger than 0x80.
>
> 5. The last big mystery are media control buttons (play, stop, rewind,
> forward). I cannot find the in DSDT. I found something that I think
> should be connected to those keys.
> Method (_Q6E, 0, NotSerialized) //unknown 1
> {
> If (\_SB.ATKP)
> {
> // Notify (\_SB.ATKD, 0x8A)
> Notify (\_SB.ATKD, 0x65)
> }
> }
> ////////////////////////////////////
> Method (_Q6F, 0, NotSerialized) //unknown 3
> {
> If (\_SB.ATKP)
> {
> // Notify (\_SB.ATKD, 0x99)
> Notify (\_SB.ATKD, 0x67)
> }
> }
> But those are two keys not four. And my values are not reported in
> /proc/acpi/events.
Does they work on the other OS ?
Those buttons works with Microsoft Media Player as described on keys. I had to install nothing for them to work.
How to find those buttons? Please help me with that. I'm attaching my dsdt.
>>> 1. In /proc/acpi/events few keys which looks normal in DSDT are not
>>> reported. I found that all of them have code bigger than 0x80. I founded
>>> those lines and changed them to return codes below 0x80 (to ones that
>>> are not used) and that solved problem. I did not have time to look into
>>> acpi source code and maybe my solution is not the best way to do it, and
>>> maybe not solves the problem, but works for me.
>>> Example:
>>>
>>> - F2 wifi button
>>> //Notify (\_SB.ATKD, 0x88)
>>> Notify (\_SB.ATKD, 0x56)
>>>
>>> The only exception is sleep button F1 but it is notified not to
>>> \_SB.ATKD but to \_SB.SLPB and is processed by buttons module.
>>>
>>> Notify (\_SB.SLPB, 0x80)
>>>
>>> Is it a bug or a feature that codes over 0x80 are not reported?
>>>
>> I don't know :/ So, let's ask linux-acpi@vger.kernel.org
>>
>
> According to the ACPI spec, section 5.6.3 "Device Object Notifications"
> 0-7f common for all devices
> 80-bf device specific
> c0-ff vendor specific
>
> so I think that what happens to codes of 80 and above should
> depend on the device driver that is bound to the device
> that handles the notify.
>
> I'll venture that SLPB is the sleep button, and the standard button driver
> is already bound to handle that one.
>
>
Thanks for pointing that Len.
How this can be made in asus_laptop driver? I do not know acpi
interfaces, but i assume it should be done during handler installation.
Am I wright?
[-- Attachment #2: asus_v1j.gz --]
[-- Type: application/gzip, Size: 31523 bytes --]
prev parent reply other threads:[~2007-03-26 19:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <46051CEE.4030402@o2.pl>
2007-03-24 13:15 ` Asus V1j Corentin CHARY
2007-03-24 13:46 ` Szymon Olko
2007-03-24 13:47 ` Szymon Olko
2007-03-26 4:32 ` Notify(0x88) (was Re: Asus V1j) Len Brown
2007-03-26 19:26 ` Szymon Olko [this message]
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=46081E50.6040506@o2.pl \
--to=szymonolko@o2.pl \
--cc=acpi4asus-user@lists.sourceforge.net \
--cc=corentincj@iksaif.net \
--cc=lenb@kernel.org \
--cc=linux-acpi@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox