So, in messing with this Pavilion m6_1935dx, I was able to get most of the EC running as expected. It seems that, at least the (ACPI) register layout is the same. We can get good battery _and_ AC indicators from it.
When we query the EC (say, doing a cat /sys/class/power/AC/online), it responds properly with an SCI whenever the status register changes, and the query goes well. And that's about it.
When an event happens, on the other hand, like a hotkey, or AC is removed, it does not generate an SCI that would lead to a query call (_Qxx). Instead it spits out an SMI. I know for a fact that the SCI and SMI GPEs are where we expect them to be.
I see google/parrot uses the same physical EC silicon, though the EC firmware may be a different beast. However, I'd like to ask of you gurus who have worked on parrot... what's your take on this?
Alex
More technical details: I've made ACPI print a debug message whenever GPE23 is triggered (_L17). This is the EC SMI event.
I'm also using linux supermagic to get an idea of what is going on: # echo 0x88000502 > /sys/module/acpi/parameters/debug_level # echo 0x00060006 > /sys/module/acpi/parameters/debug_layer # echo -n 'file ec.c +p' | tee /sys/kernel/debug/dynamic_debug/control
That's how I know the GPE for SCI is correct (also same GPE in the vendor's ACPI).