2008-08-28 22:35:51

by Seth Heasley

[permalink] [raw]
Subject: [PATCH 2.6.27-rc4][RESEND] 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.

Signed-off-by: Seth Heasley <[email protected]>

--- linux-2.6/include/linux/pci_ids.h.orig 2008-08-27 11:54:07.000000000 -0700
+++ linux-2.6/include/linux/pci_ids.h 2008-08-28 14:59:35.000000000 -0700
@@ -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
--- linux-2.6/arch/x86/pci/irq.c.orig 2008-08-27 11:53:13.000000000 -0700
+++ linux-2.6/arch/x86/pci/irq.c 2008-08-28 15:12:04.000000000 -0700
@@ -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;
}


2008-08-29 08:02:29

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH 2.6.27-rc4][RESEND] irq: irq and pci_ids patch for Intel Ibex Peak DeviceIDs

On Thu, 28 Aug 2008 15:40:59 -0700, Seth Heasley wrote:
> 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.
>
> Signed-off-by: Seth Heasley <[email protected]>
>
> --- linux-2.6/include/linux/pci_ids.h.orig 2008-08-27 11:54:07.000000000 -0700
> +++ linux-2.6/include/linux/pci_ids.h 2008-08-28 14:59:35.000000000 -0700
> @@ -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
> --- linux-2.6/arch/x86/pci/irq.c.orig 2008-08-27 11:53:13.000000000 -0700
> +++ linux-2.6/arch/x86/pci/irq.c 2008-08-28 15:12:04.000000000 -0700
> @@ -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;
> }
>

Looks good to me, thanks for doing that.

Acked-by: Jean Delvare <[email protected]>

--
Jean Delvare