On Wed, 28 Aug 2019 at 22:21, Hans de Goede hdegoede@redhat.com wrote:
Hi,
On 28-08-19 14:20, Hans de Goede wrote:
Hi,
On 28-08-19 13:37, Andy Shevchenko wrote:
On Tue, Aug 27, 2019 at 10:28:35PM +0200, Hans de Goede wrote:
Another day; another DSDT bug we need to workaround...
Since commit ca876c7483b6 ("gpiolib-acpi: make sure we trigger edge events at least once on boot") we call _AEI edge handlers at boot.
In some rare cases this causes problems. One example of this is the Minix Neo Z83-4 mini PC, this device has a clear DSDT bug where it has some copy and pasted code for dealing with Micro USB-B connector host/device role switching, while the mini PC does not even have a micro-USB connector. This code, which should not be there, messes with the DDC data pin from the HDMI connector (switching it to GPIO mode) breaking HDMI support.
To avoid problems like this, this commit adds a new gpiolib_acpi.run_edge_events_on_boot kernel commandline option, which allows disabling the running of _AEI edge event handlers at boot.
The default value is -1/auto which uses a DMI based blacklist, the initial version of this blacklist contains the Neo Z83-4 fixing the HDMI breakage.
Thank you!
Assuming it works for Ian, Reviewed-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
Note I have access to a Minix Neo Z83-4 myself now and I did test that this fixes it and that passing gpiolib_acpi.run_edge_events_on_boot=0 breaks HDMI again (so the option works).
Erm that should be gpiolib_acpi.run_edge_events_on_boot=1 (not 0) breaks HDMI.
Many thanks again Hans. I've also tested the patch including the various command line options on my MINIX Z83-4 and they work fine.
Best regards, Ian