Skip to content
Permalink
Browse files

dwiic: stop enabling polling by default

The interrupt problem had nothing to do with changes in the Intel
100 Series and was due to most of these machines using the same DSDT
template where we were walking _INI nodes in the wrong order.

This lead to the touchpad device's _INI method being called before
\_SB_.PCI0._INI (where \OSYS is initialized), making the touchpad
device's interrupts setup for an OSYS of 0, but when its _CRS method
was called later during ihidev attachment (after \_SB_.PCI0._INI was
executed, modifying OSYS), it returned information for interrupts as
if were initially setup for the proper OSYS.
  • Loading branch information...
jcs committed Jul 31, 2019
1 parent 72b62a3 commit 1f51046f99d3ae3af9939adb7c7bcd011c7a3d22
Showing with 4 additions and 10 deletions.
  1. +4 −10 sys/dev/pci/dwiic_pci.c
@@ -1,4 +1,4 @@
/* $OpenBSD: dwiic_pci.c,v 1.8 2019/07/16 19:12:32 jcs Exp $ */
/* $OpenBSD: dwiic_pci.c,v 1.9 2019/07/31 16:04:16 jcs Exp $ */
/*
* Synopsys DesignWare I2C controller
* PCI attachment
@@ -206,14 +206,8 @@ dwiic_pci_bus_scan(struct device *iic, struct i2cbus_attach_args *iba,

sc->sc_iic = iic;

if (sc->sc_devnode != NULL) {
/*
* XXX: until we can figure out why interrupts don't arrive for
* i2c slave devices on intel 100 series and newer, force
* polling for ihidev.
*/
sc->sc_poll_ihidev = 1;

#if NACPI > 0
if (sc->sc_devnode != NULL)
aml_find_node(sc->sc_devnode, "_HID", dwiic_acpi_found_hid, sc);
}
#endif
}

0 comments on commit 1f51046

Please sign in to comment.
You can’t perform that action at this time.