<div dir="ltr"><div><div><div><div><div>Hello<br><br></div>For your information, this patch does not gives me any of these ACPI events on the x60 tablet, so the patch may be specific to the X220t<br><br></div>To correct the events value, I tried to replicate your events output with :<br>enable CONFIG_DYNAMIC_DEBUG<br>echo -n 'file ec.c +p' | sudo tee /sys/kernel/debug/dynamic_debug/control<br><br>I still can't get logs similar to yours.<br><br></div>I would love to make that work. Please let me know how I can report the correct values.<br><br></div>Thanks<br></div>Charles<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 25, 2014 at 5:02 PM, Vladimir 'φ-coder/phcoder' Serbinenko <span dir="ltr"><<a href="mailto:phcoder@gmail.com" target="_blank">phcoder@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On <a href="tel:25.08.2014%2022" value="+12508201422">25.08.2014 22</a>:53, Vladimir 'φ-coder/phcoder' Serbinenko wrote:<br>
>>> Ideally, the DSDT should be fixed within coreboot, but this goes beyond<br>
>>> my present abilities.<br>
>> Not true. Just do the same changes to the corresponding *.asl files in<br>
>> coreboot repo and send the patch to gerrit. Other than a layer of<br>
>> preprocessing, it's exactly the same code as you got from disassembly.<br>
>><br>
> Sorry, I misread you. I thought that you extracted coreboot DSDT from<br>
> running system then patched it and used as custom DSDT. I'm going to<br>
> make few experiments on my x220t.<br>
><br>
><br>
</div></div>This may interest you:<br>
On X220t<br>
stylus removal:<br>
[17424.931729] ACPI : EC: ===== TASK =====<br>
[17424.931747] ACPI : EC: ---> status = 0x28<br>
[17424.931755] ACPI : EC: <--- command = 0x84<br>
[17424.931852] ACPI : EC: ===== IRQ =====<br>
[17424.931865] ACPI : EC: ---> status = 0x09<br>
[17424.931874] ACPI : EC: ---> data = 0x5d<br>
[17424.931885] ACPI : EC: ---> status = 0x08<br>
<br>
So it's _Q5D<br>
<br>
Stylus reinsert:<br>
[17493.249126] ACPI : EC: push gpe query to the queue<br>
[17493.249198] ACPI : EC: ===== TASK =====<br>
[17493.249207] ACPI : EC: ---> status = 0x28<br>
[17493.249213] ACPI : EC: <--- command = 0x84<br>
[17493.249293] ACPI : EC: ===== IRQ =====<br>
[17493.249306] ACPI : EC: ---> status = 0x09<br>
[17493.249316] ACPI : EC: ---> data = 0x5c<br>
[17493.249329] ACPI : EC: ---> status = 0x08<br>
<br>
So it's _Q5C<br>
<br>
Turning LID around:<br>
[17582.701907] ACPI : EC: push gpe query to the queue<br>
[17582.701979] ACPI : EC: ===== TASK =====<br>
[17582.701987] ACPI : EC: ---> status = 0x28<br>
[17582.701994] ACPI : EC: <--- command = 0x84<br>
[17582.702075] ACPI : EC: ===== IRQ =====<br>
[17582.702092] ACPI : EC: ---> status = 0x09<br>
[17582.702096] ACPI : EC: ---> data = 0x5e<br>
[17582.702104] ACPI : EC: ---> status = 0x08<br>
So it's _Q5E<br>
<br>
Back to laptop layout:<br>
[17590.610440] ACPI : EC: push gpe query to the queue<br>
[17590.610513] ACPI : EC: ===== TASK =====<br>
[17590.610521] ACPI : EC: ---> status = 0x28<br>
[17590.610527] ACPI : EC: <--- command = 0x84<br>
[17590.610610] ACPI : EC: ===== IRQ =====<br>
[17590.610620] ACPI : EC: ---> status = 0x09<br>
[17590.610628] ACPI : EC: ---> data = 0x5f<br>
[17590.610641] ACPI : EC: ---> status = 0x08<br>
so it's _Q5F<br>
<br>
Do you get the same events on X60t?<br>
<br>
>From thinkpad-acpi.c:<br>
        TP_HKEY_EV_TABLET_TABLET        = 0x5009, /* tablet swivel up */<br>
        TP_HKEY_EV_TABLET_NOTEBOOK      = 0x500a, /* tablet swivel down */<br>
        TP_HKEY_EV_PEN_INSERTED         = 0x500b, /* tablet pen inserted */<br>
        TP_HKEY_EV_PEN_REMOVED          = 0x500c, /* tablet pen removed */<br>
<br>
So those are the values MHKP has to return.<br>
<br>
<a href="http://review.coreboot.org/6765" target="_blank">http://review.coreboot.org/6765</a> implements it. Please test.<br>
</blockquote></div><br></div>