# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1206521556 0
# Node ID ba11d3cf69f0cef7c1f52affdbc854545b0028a7
# Parent 14b9877742337506d1885d21763c31fe465b5512
Support for ICH10 chipset PCI IDs.
Signed-off-by: Don Dugger <donald.d.dugger@xxxxxxxxx>
---
Documentation/i2c/busses/i2c-i801 | 5 ++++
arch/i386/pci/irq-xen.c | 4 +++
arch/i386/pci/irq.c | 4 +++
drivers/i2c/busses/Kconfig | 1
drivers/i2c/busses/i2c-i801.c | 4 +++
drivers/scsi/ahci.c | 6 +++++
drivers/scsi/ata_piix.c | 40 +++++++++++++++++++++++++++++++++++---
include/linux/pci_ids.h | 6 +++++
sound/pci/hda/hda_intel.c | 3 ++
9 files changed, 70 insertions(+), 3 deletions(-)
diff -r 14b987774233 -r ba11d3cf69f0 Documentation/i2c/busses/i2c-i801
--- a/Documentation/i2c/busses/i2c-i801 Tue Mar 25 17:54:59 2008 +0000
+++ b/Documentation/i2c/busses/i2c-i801 Wed Mar 26 08:52:36 2008 +0000
@@ -10,6 +10,11 @@ Supported adapters:
* Intel 6300ESB
* Intel 82801FB/FR/FW/FRW (ICH6)
* Intel ICH7
+ * Intel 82801G (ICH7)
+ * Intel 82801H (ICH9)
+ * Intel 82801I (ICH9)
+ * Intel Tolapai
+ * Intel ICH10
Datasheets: Publicly available at the Intel website
Authors:
diff -r 14b987774233 -r ba11d3cf69f0 arch/i386/pci/irq-xen.c
--- a/arch/i386/pci/irq-xen.c Tue Mar 25 17:54:59 2008 +0000
+++ b/arch/i386/pci/irq-xen.c Wed Mar 26 08:52:36 2008 +0000
@@ -553,6 +553,10 @@ static __init int intel_router_probe(str
case PCI_DEVICE_ID_INTEL_ICH9_3:
case PCI_DEVICE_ID_INTEL_ICH9_4:
case PCI_DEVICE_ID_INTEL_ICH9_5:
+ case PCI_DEVICE_ID_INTEL_ICH10_0:
+ case PCI_DEVICE_ID_INTEL_ICH10_1:
+ case PCI_DEVICE_ID_INTEL_ICH10_2:
+ case PCI_DEVICE_ID_INTEL_ICH10_3:
r->name = "PIIX/ICH";
r->get = pirq_piix_get;
r->set = pirq_piix_set;
diff -r 14b987774233 -r ba11d3cf69f0 arch/i386/pci/irq.c
--- a/arch/i386/pci/irq.c Tue Mar 25 17:54:59 2008 +0000
+++ b/arch/i386/pci/irq.c Wed Mar 26 08:52:36 2008 +0000
@@ -549,6 +549,10 @@ static __init int intel_router_probe(str
case PCI_DEVICE_ID_INTEL_ICH9_3:
case PCI_DEVICE_ID_INTEL_ICH9_4:
case PCI_DEVICE_ID_INTEL_ICH9_5:
+ case PCI_DEVICE_ID_INTEL_ICH10_0:
+ case PCI_DEVICE_ID_INTEL_ICH10_1:
+ case PCI_DEVICE_ID_INTEL_ICH10_2:
+ case PCI_DEVICE_ID_INTEL_ICH10_3:
r->name = "PIIX/ICH";
r->get = pirq_piix_get;
r->set = pirq_piix_set;
diff -r 14b987774233 -r ba11d3cf69f0 drivers/i2c/busses/Kconfig
--- a/drivers/i2c/busses/Kconfig Tue Mar 25 17:54:59 2008 +0000
+++ b/drivers/i2c/busses/Kconfig Wed Mar 26 08:52:36 2008 +0000
@@ -126,6 +126,7 @@ config I2C_I801
ESB2
ICH8
ICH9
+ ICH10
This driver can also be built as a module. If so, the module
will be called i2c-i801.
diff -r 14b987774233 -r ba11d3cf69f0 drivers/i2c/busses/i2c-i801.c
--- a/drivers/i2c/busses/i2c-i801.c Tue Mar 25 17:54:59 2008 +0000
+++ b/drivers/i2c/busses/i2c-i801.c Wed Mar 26 08:52:36 2008 +0000
@@ -34,6 +34,8 @@
ESB2 269B
ICH8 283E
ICH9 2930
+ ICH10 3A30
+ ICH10 3A60
This driver supports several versions of Intel's I/O Controller Hubs (ICH).
For SMBus support, they are similar to the PIIX4 and are part
of Intel's '810' and other chipsets.
@@ -459,6 +461,8 @@ static struct pci_device_id i801_ids[] =
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB2_17) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH8_5) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_6) },
+ { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_4) },
+ { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_5) },
{ 0, }
};
diff -r 14b987774233 -r ba11d3cf69f0 drivers/scsi/ahci.c
--- a/drivers/scsi/ahci.c Tue Mar 25 17:54:59 2008 +0000
+++ b/drivers/scsi/ahci.c Wed Mar 26 08:52:36 2008 +0000
@@ -339,6 +339,12 @@ static const struct pci_device_id ahci_p
board_ahci }, /* ICH9 */
{ PCI_VENDOR_ID_INTEL, 0x294e, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ICH9M */
+ { PCI_VENDOR_ID_INTEL, 0x3a02, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ICH10 */
+ { PCI_VENDOR_ID_INTEL, 0x3a05, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ICH10 */
+ { PCI_VENDOR_ID_INTEL, 0x3a25, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ICH10 */
/* JMicron */
{ 0x197b, 0x2360, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
diff -r 14b987774233 -r ba11d3cf69f0 drivers/scsi/ata_piix.c
--- a/drivers/scsi/ata_piix.c Tue Mar 25 17:54:59 2008 +0000
+++ b/drivers/scsi/ata_piix.c Wed Mar 26 08:52:36 2008 +0000
@@ -126,6 +126,7 @@ enum {
ich7m_sata_ahci = 7,
ich8_sata_ahci = 8,
ich9_sata_ahci = 9,
+ ich8_2port_sata = 10,
/* constants for mapping table */
P0 = 0, /* port 0 */
@@ -193,10 +194,10 @@ static const struct pci_device_id piix_p
{ 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich7m_sata_ahci },
/* Enterprise Southbridge 2 (where's the datasheet?) */
{ 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
- /* SATA Controller 1 IDE (ICH8, no datasheet yet) */
+ /* SATA Controller 1 IDE (ICH8) */
{ 0x8086, 0x2820, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
- /* SATA Controller 2 IDE (ICH8, ditto) */
- { 0x8086, 0x2825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
+ /* SATA Controller 2 IDE (ICH8) */
+ { 0x8086, 0x2825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
/* Mobile SATA Controller IDE (ICH8M, ditto) */
{ 0x8086, 0x2828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
/* SATA Controller 1 IDE (ICH9) */
@@ -211,6 +212,14 @@ static const struct pci_device_id piix_p
{ 0x8086, 0x292d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich9_sata_ahci },
/* Mobile SATA Controller 2 IDE (ICH9M) */
{ 0x8086, 0x292e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich9_sata_ahci },
+ /* SATA Controller IDE (ICH10) */
+ { 0x8086, 0x3a00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
+ /* SATA Controller IDE (ICH10) */
+ { 0x8086, 0x3a06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
+ /* SATA Controller IDE (ICH10) */
+ { 0x8086, 0x3a20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
+ /* SATA Controller IDE (ICH10) */
+ { 0x8086, 0x3a26, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
{ } /* terminate list */
};
@@ -394,6 +403,18 @@ static const struct piix_map_db ich9_map
},
};
+static const struct piix_map_db ich8_2port_map_db = {
+ .mask = 0x3,
+ .port_enable = 0x3,
+ .map = {
+ /* PM PS SM SS MAP */
+ { P0, NA, P1, NA }, /* 00b */
+ { RV, RV, RV, RV }, /* 01b */
+ { RV, RV, RV, RV }, /* 10b */
+ { RV, RV, RV, RV },
+ },
+};
+
static const struct piix_map_db *piix_map_db_table[] = {
[ich5_sata] = &ich5_map_db,
[esb_sata] = &ich5_map_db,
@@ -403,6 +424,7 @@ static const struct piix_map_db *piix_ma
[ich7m_sata_ahci] = &ich7m_map_db,
[ich8_sata_ahci] = &ich8_map_db,
[ich9_sata_ahci] = &ich9_map_db,
+ [ich8_2port_sata] = &ich8_2port_map_db,
};
static struct ata_port_info piix_port_info[] = {
@@ -525,6 +547,18 @@ static struct ata_port_info piix_port_in
.mwdma_mask = 0x07, /* mwdma0-2 */
.udma_mask = 0x7f, /* udma0-6 */
.port_ops = &piix_sata_ops,
+ },
+
+ /* ich8_2port_sata: 11: */
+ {
+ .sht = &piix_sht,
+ .host_flags = ATA_FLAG_SATA |
+ PIIX_FLAG_CHECKINTR | PIIX_FLAG_SCR |
+ PIIX_FLAG_AHCI,
+ .pio_mask = 0x1f, /* pio0-4 */
+ .mwdma_mask = 0x07, /* mwdma0-2 */
+ .udma_mask = ATA_UDMA6,
+ .port_ops = &piix_pata_ops,
},
};
diff -r 14b987774233 -r ba11d3cf69f0 include/linux/pci_ids.h
--- a/include/linux/pci_ids.h Tue Mar 25 17:54:59 2008 +0000
+++ b/include/linux/pci_ids.h Wed Mar 26 08:52:36 2008 +0000
@@ -2209,6 +2209,12 @@
#define PCI_DEVICE_ID_INTEL_MCH_PC 0x3599
#define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a
#define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e
+#define PCI_DEVICE_ID_INTEL_ICH10_0 0x3a14
+#define PCI_DEVICE_ID_INTEL_ICH10_1 0x3a16
+#define PCI_DEVICE_ID_INTEL_ICH10_2 0x3a18
+#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_82371SB_0 0x7000
#define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010
#define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020
diff -r 14b987774233 -r ba11d3cf69f0 sound/pci/hda/hda_intel.c
--- a/sound/pci/hda/hda_intel.c Tue Mar 25 17:54:59 2008 +0000
+++ b/sound/pci/hda/hda_intel.c Wed Mar 26 08:52:36 2008 +0000
@@ -81,6 +81,7 @@ MODULE_SUPPORTED_DEVICE("{{Intel, ICH6},
"{Intel, ESB2},"
"{Intel, ICH8},"
"{Intel, ICH9},"
+ "{Intel, ICH10},"
"{ATI, SB450},"
"{ATI, SB600},"
"{ATI, RS600},"
@@ -1637,6 +1638,8 @@ static struct pci_device_id azx_ids[] =
{ 0x8086, 0x284b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /*
ICH8 */
{ 0x8086, 0x293e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /*
ICH9 */
{ 0x8086, 0x293f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /*
ICH9 */
+ { 0x8086, 0x3a3e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /*
ICH10 */
+ { 0x8086, 0x3a6e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /*
ICH10 */
{ 0x1002, 0x437b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATI }, /*
ATI SB450 */
{ 0x1002, 0x4383, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATI }, /*
ATI SB600 */
{ 0x1002, 0x793b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI },
/* ATI RS600 HDMI */
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|