[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] Support ICH9 chipset.
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1190128877 -3600 # Node ID 8bf8b3d201a9a9922c17115ddeffe2b3445e0cbc # Parent c8992c4b7a1ca0e912b04bd268b251ad8e7a14d2 Support ICH9 chipset. Signed-off-by: Allen Kay <allen.m.kay@xxxxxxxxx> --- arch/i386/pci/irq.c | 6 +++++ drivers/i2c/busses/Kconfig | 1 drivers/i2c/busses/i2c-i801.c | 2 + drivers/scsi/ahci.c | 22 +++++++++++++++++++++ drivers/scsi/ata_piix.c | 43 ++++++++++++++++++++++++++++++++++++++++-- include/linux/pci_ids.h | 7 ++++++ sound/pci/hda/hda_intel.c | 3 ++ 7 files changed, 82 insertions(+), 2 deletions(-) diff -r c8992c4b7a1c -r 8bf8b3d201a9 arch/i386/pci/irq.c --- a/arch/i386/pci/irq.c Tue Sep 18 09:34:09 2007 +0100 +++ b/arch/i386/pci/irq.c Tue Sep 18 16:21:17 2007 +0100 @@ -543,6 +543,12 @@ static __init int intel_router_probe(str case PCI_DEVICE_ID_INTEL_ICH8_2: case PCI_DEVICE_ID_INTEL_ICH8_3: case PCI_DEVICE_ID_INTEL_ICH8_4: + case PCI_DEVICE_ID_INTEL_ICH9_0: + case PCI_DEVICE_ID_INTEL_ICH9_1: + case PCI_DEVICE_ID_INTEL_ICH9_2: + case PCI_DEVICE_ID_INTEL_ICH9_3: + case PCI_DEVICE_ID_INTEL_ICH9_4: + case PCI_DEVICE_ID_INTEL_ICH9_5: r->name = "PIIX/ICH"; r->get = pirq_piix_get; r->set = pirq_piix_set; diff -r c8992c4b7a1c -r 8bf8b3d201a9 drivers/i2c/busses/Kconfig --- a/drivers/i2c/busses/Kconfig Tue Sep 18 09:34:09 2007 +0100 +++ b/drivers/i2c/busses/Kconfig Tue Sep 18 16:21:17 2007 +0100 @@ -125,6 +125,7 @@ config I2C_I801 ICH7 ESB2 ICH8 + ICH9 This driver can also be built as a module. If so, the module will be called i2c-i801. diff -r c8992c4b7a1c -r 8bf8b3d201a9 drivers/i2c/busses/i2c-i801.c --- a/drivers/i2c/busses/i2c-i801.c Tue Sep 18 09:34:09 2007 +0100 +++ b/drivers/i2c/busses/i2c-i801.c Tue Sep 18 16:21:17 2007 +0100 @@ -33,6 +33,7 @@ ICH7 27DA ESB2 269B ICH8 283E + ICH9 2930 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. @@ -457,6 +458,7 @@ static struct pci_device_id i801_ids[] = { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_17) }, { 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) }, { 0, } }; diff -r c8992c4b7a1c -r 8bf8b3d201a9 drivers/scsi/ahci.c --- a/drivers/scsi/ahci.c Tue Sep 18 09:34:09 2007 +0100 +++ b/drivers/scsi/ahci.c Tue Sep 18 16:21:17 2007 +0100 @@ -317,6 +317,28 @@ static const struct pci_device_id ahci_p board_ahci }, /* ICH8M */ { PCI_VENDOR_ID_INTEL, 0x282a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, board_ahci }, /* ICH8M */ + { PCI_VENDOR_ID_INTEL, 0x2922, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9 */ + { PCI_VENDOR_ID_INTEL, 0x2923, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9 */ + { PCI_VENDOR_ID_INTEL, 0x2924, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9 */ + { PCI_VENDOR_ID_INTEL, 0x2925, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9 */ + { PCI_VENDOR_ID_INTEL, 0x2927, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9 */ + { PCI_VENDOR_ID_INTEL, 0x2929, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9M */ + { PCI_VENDOR_ID_INTEL, 0x292a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9M */ + { PCI_VENDOR_ID_INTEL, 0x292b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9M */ + { PCI_VENDOR_ID_INTEL, 0x292f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9M */ + { PCI_VENDOR_ID_INTEL, 0x294d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9 */ + { PCI_VENDOR_ID_INTEL, 0x294e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, + board_ahci }, /* ICH9M */ /* JMicron */ { 0x197b, 0x2360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, diff -r c8992c4b7a1c -r 8bf8b3d201a9 drivers/scsi/ata_piix.c --- a/drivers/scsi/ata_piix.c Tue Sep 18 09:34:09 2007 +0100 +++ b/drivers/scsi/ata_piix.c Tue Sep 18 16:21:17 2007 +0100 @@ -125,6 +125,7 @@ enum { ich6m_sata_ahci = 6, ich7m_sata_ahci = 7, ich8_sata_ahci = 8, + ich9_sata_ahci = 9, /* constants for mapping table */ P0 = 0, /* port 0 */ @@ -198,6 +199,18 @@ static const struct pci_device_id piix_p { 0x8086, 0x2825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci }, /* Mobile SATA Controller IDE (ICH8M, ditto) */ { 0x8086, 0x2828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci }, + /* SATA Controller 1 IDE (ICH9) */ + { 0x8086, 0x2920, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich9_sata_ahci }, + /* SATA Controller 1 IDE (ICH9) */ + { 0x8086, 0x2921, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich9_sata_ahci }, + /* SATA Controller 2 IDE (ICH9) */ + { 0x8086, 0x2926, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich9_sata_ahci }, + /* Mobile SATA Controller 1 IDE (ICH9M) */ + { 0x8086, 0x2928, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich9_sata_ahci }, + /* Mobile SATA Controller 2 IDE (ICH9M) */ + { 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 }, { } /* terminate list */ }; @@ -361,9 +374,22 @@ static const struct piix_map_db ich8_map .present_shift = 8, .map = { /* PM PS SM SS MAP */ - { P0, NA, P1, NA }, /* 00b (hardwired) */ + { P0, P2, P1, P3 }, /* 00b (hardwired when in AHCI) */ { RV, RV, RV, RV }, - { RV, RV, RV, RV }, /* 10b (never) */ + { IDE, IDE, NA, NA }, /* 10b (IDE mode) */ + { RV, RV, RV, RV }, + }, +}; + +static const struct piix_map_db ich9_map_db = { + .mask = 0x3, + .port_enable = 0x3, + .present_shift = 8, + .map = { + /* PM PS SM SS MAP */ + { P0, P2, P1, P3 }, /* 00b (hardwired when in AHCI) */ + { RV, RV, RV, RV }, + { IDE, IDE, NA, NA }, /* 10b (IDE mode) */ { RV, RV, RV, RV }, }, }; @@ -376,6 +402,7 @@ static const struct piix_map_db *piix_ma [ich6m_sata_ahci] = &ich6m_map_db, [ich7m_sata_ahci] = &ich7m_map_db, [ich8_sata_ahci] = &ich8_map_db, + [ich9_sata_ahci] = &ich9_map_db, }; static struct ata_port_info piix_port_info[] = { @@ -485,6 +512,18 @@ static struct ata_port_info piix_port_in .pio_mask = 0x1f, /* pio0-4 */ .mwdma_mask = 0x07, /* mwdma0-2 */ .udma_mask = 0x7f, /* udma0-6 */ + .port_ops = &piix_sata_ops, + }, + + /* ich9_sata_ahci */ + { + .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 = 0x7f, /* udma0-6 */ .port_ops = &piix_sata_ops, }, }; diff -r c8992c4b7a1c -r 8bf8b3d201a9 include/linux/pci_ids.h --- a/include/linux/pci_ids.h Tue Sep 18 09:34:09 2007 +0100 +++ b/include/linux/pci_ids.h Tue Sep 18 16:21:17 2007 +0100 @@ -2188,6 +2188,13 @@ #define PCI_DEVICE_ID_INTEL_ICH8_4 0x2815 #define PCI_DEVICE_ID_INTEL_ICH8_5 0x283e #define PCI_DEVICE_ID_INTEL_ICH8_6 0x2850 +#define PCI_DEVICE_ID_INTEL_ICH9_0 0x2910 +#define PCI_DEVICE_ID_INTEL_ICH9_1 0x2911 +#define PCI_DEVICE_ID_INTEL_ICH9_2 0x2912 +#define PCI_DEVICE_ID_INTEL_ICH9_3 0x2913 +#define PCI_DEVICE_ID_INTEL_ICH9_4 0x2914 +#define PCI_DEVICE_ID_INTEL_ICH9_5 0x2915 +#define PCI_DEVICE_ID_INTEL_ICH9_6 0x2930 #define PCI_DEVICE_ID_INTEL_82855PM_HB 0x3340 #define PCI_DEVICE_ID_INTEL_82830_HB 0x3575 #define PCI_DEVICE_ID_INTEL_82830_CGC 0x3577 diff -r c8992c4b7a1c -r 8bf8b3d201a9 sound/pci/hda/hda_intel.c --- a/sound/pci/hda/hda_intel.c Tue Sep 18 09:34:09 2007 +0100 +++ b/sound/pci/hda/hda_intel.c Tue Sep 18 16:21:17 2007 +0100 @@ -80,6 +80,7 @@ MODULE_SUPPORTED_DEVICE("{{Intel, ICH6}, "{Intel, ICH7}," "{Intel, ESB2}," "{Intel, ICH8}," + "{Intel, ICH9}," "{ATI, SB450}," "{ATI, SB600}," "{ATI, RS600}," @@ -1634,6 +1635,8 @@ static struct pci_device_id azx_ids[] = { 0x8086, 0x27d8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH7 */ { 0x8086, 0x269a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ESB2 */ { 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 */ { 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |