Skip to content

Commit

Permalink
i2c-i801: Enable interrupts on ICH5/7/8/9/10
Browse files Browse the repository at this point in the history
Enable interrupts on more devices. ICH5, ICH7(-M) and ICH10 have been
tested to work OK. ICH8 and ICH9 are expected to work just fine as
they are very close to ICH7 and ICH10.

Ultimately we want to enable this feature on at least every device
since the ICH5, but for now we limit the exposure. We'll enable it for
other devices if we don't get negative feedback.

As a bonus, let the user know when interrupts are used.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Daniel Kurtz <djkurtz@chromium.org>
  • Loading branch information
Jean Delvare authored and Jean Delvare committed Jul 24, 2012
1 parent 636752b commit 29b6085
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions drivers/i2c/busses/i2c-i801.c
Original file line number Diff line number Diff line change
Expand Up @@ -863,8 +863,14 @@ static int __devinit i801_probe(struct pci_dev *dev,
break;
}

/* IRQ processing only tested on CougarPoint PCH */
if (dev->device == PCI_DEVICE_ID_INTEL_COUGARPOINT_SMBUS)
/* IRQ processing tested on CougarPoint PCH, ICH5, ICH7-M and ICH10 */
if (dev->device == PCI_DEVICE_ID_INTEL_COUGARPOINT_SMBUS ||
dev->device == PCI_DEVICE_ID_INTEL_82801EB_3 ||
dev->device == PCI_DEVICE_ID_INTEL_ICH7_17 ||
dev->device == PCI_DEVICE_ID_INTEL_ICH8_5 ||
dev->device == PCI_DEVICE_ID_INTEL_ICH9_6 ||
dev->device == PCI_DEVICE_ID_INTEL_ICH10_4 ||
dev->device == PCI_DEVICE_ID_INTEL_ICH10_5)
priv->features |= FEATURE_IRQ;

/* Disable features on user request */
Expand Down Expand Up @@ -918,8 +924,6 @@ static int __devinit i801_probe(struct pci_dev *dev,
dev_dbg(&dev->dev, "SMBus using interrupt SMI#\n");
/* Disable SMBus interrupt feature if SMBus using SMI# */
priv->features &= ~FEATURE_IRQ;
} else {
dev_dbg(&dev->dev, "SMBus using PCI Interrupt\n");
}

/* Clear special mode bits */
Expand All @@ -937,6 +941,7 @@ static int __devinit i801_probe(struct pci_dev *dev,
dev->irq, err);
goto exit_release;
}
dev_info(&dev->dev, "SMBus using PCI Interrupt\n");
}

/* set up the sysfs linkage to our parent device */
Expand Down

0 comments on commit 29b6085

Please sign in to comment.