Am 23.06.2016 um 14:35 schrieb Michał Kępień: >>> I looked at the ACPI tables you sent me and it looks like >>> brightness-related keys should be handled by ACPI method _L21 on >>> Skylakes. As far as I can tell without playing with the hardware >>> myself, the ACPI code doesn't strike me as outright broken, so the first >>> step would be to confirm whether the relevant GPE is raised at all when >>> you press brightness-related keys. To check it, launch the following >>> command in a terminal: >>> >>> watch -n 1 cat /sys/firmware/acpi/interrupts/gpe21 >>> >>> and press Fn+F6 or Fn+F7. The counter should get increased by one. >> >> Yup - great. This works :-) >> I would be interested to know, how you came to this conclusion. Is this >> encoded in the ssdt tables? > > First I figured out (using a command almost identical to the one I > suggested to you) which GPE is used for signalling brightness-related > key presses on my Haswell machine. This immediately led me to ACPI > method _L11. I selectively commented out ACPI code from this method, > recompiling and overriding it using /sys/kernel/debug/acpi/custom_method > after every change until I figured out exactly which method invocation > causes the key events to be generated. Once I knew that, I searched for > a similar invocation in a Skylake DSDT dump. This led me to ACPI method > _L21, which is very similar to Haswell's _L11. Thanks for this info. I guess I can also debug the "disable touchpad" button with this method. I'm currently to recompiling my Ubuntu kernel, as it doesn't set CONFIG_ACPI_CUSTOM_METHOD Reading _L21, there are quite a few calls to Notify (\_SB.FEXT, 0x80), which is exactly the notify function for the Fujitsu ACPI device. Actually there are a few more GPEs, which emit Notify (\_SB.FEXT, 0x80) calls, which are caught by the fujitsu-notebook driver. >>> If it does, try overriding ACPI method _L21 [3] so that you can read >>> the value of BSWF when the method is invoked. What's the easiest way to report the value to userspace? I don't think I can add variables. My idea was to add a Notify (\_SB.FEXT, 0x80) into the BSWF branch, and remove the Notify calls from all other branches. Probably even start by removing all Notify calls to be sure the function actually is overwritten. >>> If that value is 0, it's >>> obviously a vendor bug as it would prevent the ACPI video device from >>> being notified. If the GPE count isn't increased when >>> brightness-related keys are pressed, it means some hardware >>> initialization may be required before these keys are handled. In that >>> case we would likely be screwed without assistance from Fujitsu. >>> >>> To sum up, I see no immediate reason for brightness control not to work >>> on Skylakes, so you will have to get your hands a bit dirty to get to >>> the bottom of this (and it might still not yield a solution). Regards, Jan-Marek -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html