irq: irq and pci_ids patch for Intel Ibex Peak DeviceIDs
Subsystems (3)
PATCH RESEND 1/1 irq: irq and pci_ids patch for Intel Ibex Peak DeviceIDs
This patch updates the Intel Ibex Peak (PCH) LPC and SMBus Controller DeviceIDs.
The LPC Controller ID is set by Firmware within the range of 0x3b00-3b1f. This range is included in pci_ids.h using min and max values, and irq.c now has code to handle the range (in lieu of 32 additions to a SWITCH statement).
The SMBus Controller ID is a fixed-value and will not change.
include/linux/pci_ids.h renamed from include/linux/pci_ids.h.orig +3 -3
@@ -2428,9 +2428,9 @@#define PCI_DEVICE_ID_INTEL_ICH10_3 0x3a1a#define PCI_DEVICE_ID_INTEL_ICH10_4 0x3a30#define PCI_DEVICE_ID_INTEL_ICH10_5 0x3a60 -#define PCI_DEVICE_ID_INTEL_PCH_0 0x3b10 -#define PCI_DEVICE_ID_INTEL_PCH_1 0x3b11 -#define PCI_DEVICE_ID_INTEL_PCH_2 0x3b30 +#define PCI_DEVICE_ID_INTEL_PCH_LPC_MIN 0x3b00 +#define PCI_DEVICE_ID_INTEL_PCH_LPC_MAX 0x3b1f +#define PCI_DEVICE_ID_INTEL_PCH_SMBUS 0x3b30#define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f#define PCI_DEVICE_ID_INTEL_5100_16 0x65f0#define PCI_DEVICE_ID_INTEL_5100_21 0x65f5
arch/x86/pci/irq.c renamed from arch/x86/pci/irq.c.orig +9 -2
@@ -590,13 +590,20 @@case PCI_DEVICE_ID_INTEL_ICH10_1 :case PCI_DEVICE_ID_INTEL_ICH10_2 :case PCI_DEVICE_ID_INTEL_ICH10_3 : -case PCI_DEVICE_ID_INTEL_PCH_0 : -case PCI_DEVICE_ID_INTEL_PCH_1 : r->name ="PIIX/ICH" ; r->get = pirq_piix_get; r->set = pirq_piix_set;return 1 ; } + +if ((device >=PCI_DEVICE_ID_INTEL_PCH_LPC_MIN ) && + (device <=PCI_DEVICE_ID_INTEL_PCH_LPC_MAX )) { + r->name ="PIIX/ICH" ; + r->get = pirq_piix_get; + r->set = pirq_piix_set; +return 1 ; + } +return 0 ; }
Quoted 38 lines · Seth Heasley
This patch updates the Intel Ibex Peak (PCH) LPC and SMBus Controller DeviceIDs.
The LPC Controller ID is set by Firmware within the range of 0x3b00-3b1f. This range is included in
pci_ids.husing min and max values, andirq.cnow has code to handle the range (in lieu of 32 additions to a SWITCH statement).The SMBus Controller ID is a fixed-value and will not change.
Signed-off-by Seth Heasley <[email protected]>include/linux/pci_ids.h renamed from include/linux/pci_ids.h.orig +3
-3@@ -2428,9 +2428,9 @@#define PCI_DEVICE_ID_INTEL_ICH10_3 0x3a1a#define PCI_DEVICE_ID_INTEL_ICH10_4 0x3a30#define PCI_DEVICE_ID_INTEL_ICH10_5 0x3a60 -#define PCI_DEVICE_ID_INTEL_PCH_0 0x3b10 -#define PCI_DEVICE_ID_INTEL_PCH_1 0x3b11 -#define PCI_DEVICE_ID_INTEL_PCH_2 0x3b30 +#define PCI_DEVICE_ID_INTEL_PCH_LPC_MIN 0x3b00 +#define PCI_DEVICE_ID_INTEL_PCH_LPC_MAX 0x3b1f +#define PCI_DEVICE_ID_INTEL_PCH_SMBUS 0x3b30#define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f#define PCI_DEVICE_ID_INTEL_5100_16 0x65f0#define PCI_DEVICE_ID_INTEL_5100_21 0x65f5arch/x86/pci/irq.c renamed from arch/x86/pci/irq.c.orig +2
-2@@ -590,13 +590,20 @@case PCI_DEVICE_ID_INTEL_ICH10_1 :case PCI_DEVICE_ID_INTEL_ICH10_2 :case PCI_DEVICE_ID_INTEL_ICH10_3 : -case PCI_DEVICE_ID_INTEL_PCH_0 : -case PCI_DEVICE_ID_INTEL_PCH_1 : r->name ="PIIX/ICH" ; r->get = pirq_piix_get; r->set = pirq_piix_set;return 1 ; } + + if ((device >= PCI_DEVICE_ID_INTEL_PCH_LPC_MIN) &&
arch/x86/pci/irq.c line 609
Quoted 10 lines
arch/x86/pci/irq.c renamed from arch/x86/pci/irq.c.orig +7
-0+ (device <= PCI_DEVICE_ID_INTEL_PCH_LPC_MAX)) { + r->name ="PIIX/ICH" ; + r->get = pirq_piix_get; + r->set = pirq_piix_set; +return 1 ; + } +return 0 ; }
Looks good to me, thanks for doing that.
Signature · 1 line
Jean Delvare
Quoted 11 lines · Seth Heasley
This patch updates the Intel Ibex Peak (PCH) LPC and SMBus Controller DeviceIDs.
The LPC Controller ID is set by Firmware within the range of 0x3b00-3b1f. This range is included in
pci_ids.husing min and max values, andirq.cnow has code to handle the range (in lieu of 32 additions to a SWITCH statement).The SMBus Controller ID is a fixed-value and will not change.
Signed-off-by Seth Heasley <[email protected]>
Thanks for fixing this up, Seth. I just applied it to my linux-next branch.
Jesse