SOURCES: linux-2.6-i2ci801_ich9.patch (NEW), linux-2.6-sata-ich9.p...
marcus
marcus at pld-linux.org
Sun Apr 6 16:07:34 CEST 2008
Author: marcus Date: Sun Apr 6 14:07:33 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- ich9 for 2.6.16
---- Files affected:
SOURCES:
linux-2.6-i2ci801_ich9.patch (NONE -> 1.1) (NEW), linux-2.6-sata-ich9.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/linux-2.6-i2ci801_ich9.patch
diff -u /dev/null SOURCES/linux-2.6-i2ci801_ich9.patch:1.1
--- /dev/null Sun Apr 6 16:07:33 2008
+++ SOURCES/linux-2.6-i2ci801_ich9.patch Sun Apr 6 16:07:28 2008
@@ -0,0 +1,45 @@
+commit 250d1bd3f4ed0b50d79b3ec81ccefbabb203f916
+Author: Jean Delvare <khali at linux-fr.org>
+Date: Sun Dec 10 21:21:33 2006 +0100
+
+ i2c: Enable PEC on more i2c-i801 devices
+
+ Enable PEC on recent Intel SMBus controllers (ICH6, ICH7, ICH8, ICH9
+ and ESB2.)
+
+ Signed-off-by: Jean Delvare <khali at linux-fr.org>
+ Acked-by: Jason Gaston <jason.d.gaston at intel.com>
+
+---
+ drivers/i2c/busses/i2c-i801.c | 16 12 + 4 - 0 !
+ 1 files changed, 12 insertions(+), 4 deletions(-)
+
+Index: linux-2.6.17/drivers/i2c/busses/i2c-i801.c
+===================================================================
+--- linux-2.6.17.orig/drivers/i2c/busses/i2c-i801.c 2007-01-02 15:35:48.000000000 +0100
++++ linux-2.6.17/drivers/i2c/busses/i2c-i801.c 2007-01-02 15:36:16.000000000 +0100
+@@ -122,12 +122,20 @@ static int i801_setup(struct pci_dev *de
+ return -ENODEV;
+
+ I801_dev = dev;
+- if ((dev->device == PCI_DEVICE_ID_INTEL_82801DB_3) ||
+- (dev->device == PCI_DEVICE_ID_INTEL_82801EB_3) ||
+- (dev->device == PCI_DEVICE_ID_INTEL_ESB_4))
++ switch (dev->device) {
++ case PCI_DEVICE_ID_INTEL_82801DB_3:
++ case PCI_DEVICE_ID_INTEL_82801EB_3:
++ case PCI_DEVICE_ID_INTEL_ESB_4:
++ case PCI_DEVICE_ID_INTEL_ICH6_16:
++ case PCI_DEVICE_ID_INTEL_ICH7_17:
++ case PCI_DEVICE_ID_INTEL_ESB2_17:
++ case PCI_DEVICE_ID_INTEL_ICH8_5:
++ case PCI_DEVICE_ID_INTEL_ICH9_6:
+ isich4 = 1;
+- else
++ break;
++ default:
+ isich4 = 0;
++ }
+
+ /* Determine the address of the SMBus areas */
+ if (force_addr) {
================================================================
Index: SOURCES/linux-2.6-sata-ich9.patch
diff -u /dev/null SOURCES/linux-2.6-sata-ich9.patch:1.1
--- /dev/null Sun Apr 6 16:07:33 2008
+++ SOURCES/linux-2.6-sata-ich9.patch Sun Apr 6 16:07:28 2008
@@ -0,0 +1,199 @@
+--- linux-2.6.16.orig/drivers/scsi/ahci.c 2007-01-02 15:27:41.000000000 +0100
++++ linux-2.6.16/drivers/scsi/ahci.c 2007-01-02 15:32:32.000000000 +0100
+@@ -337,6 +337,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 */
+ { 0x197b, 0x2360, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci_ign_iferr }, /* JMicron JMB360 */
+ { 0x197b, 0x2361, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+diff -uNr linux-2.6.16.orig/drivers/scsi/ata_piix.c linux-2.6.16/drivers/scsi/ata_piix.c
+--- linux-2.6.16.orig/drivers/scsi/ata_piix.c 2006-03-20 05:53:29.000000000 +0000
++++ linux-2.6.16/drivers/scsi/ata_piix.c 2008-04-06 13:48:40.413868500 +0000
+@@ -117,11 +117,15 @@
+ PIIX_80C_PRI = (1 << 5) | (1 << 4),
+ PIIX_80C_SEC = (1 << 7) | (1 << 6),
+
+- ich5_pata = 0,
+- ich5_sata = 1,
+- piix4_pata = 2,
+- ich6_sata = 3,
+- ich6_sata_ahci = 4,
++ /* controller IDs */
++ piix4_pata = 0,
++ ich5_pata = 1,
++ ich5_sata = 2,
++ esb_sata = 3,
++ ich6_sata = 4,
++ ich6_sata_ahci = 5,
++ ich6m_sata_ahci = 6,
++ ich8_sata_ahci = 7,
+
+ PIIX_AHCI_DEVICE = 6,
+ };
+@@ -147,20 +151,45 @@
+ * list in drivers/pci/quirks.c.
+ */
+
+- { 0x8086, 0x24d1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
+- { 0x8086, 0x24df, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
+- { 0x8086, 0x25a3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
+- { 0x8086, 0x25b0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
+- { 0x8086, 0x2651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata },
+- { 0x8086, 0x2652, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
+- { 0x8086, 0x2653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
+- { 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
+- { 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
+- { 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
+- { 0x8086, 0x2820, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
+- { 0x8086, 0x2825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
+- { 0x8086, 0x2828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
+-
++ /* 82801EB (ICH5) */
++ { 0x8086, 0x24d1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
++ /* 82801EB (ICH5) */
++ { 0x8086, 0x24df, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata },
++ /* 6300ESB (ICH5 variant with broken PCS present bits) */
++ { 0x8086, 0x25a3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, esb_sata },
++ /* 6300ESB pretending RAID */
++ { 0x8086, 0x25b0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, esb_sata },
++ /* 82801FB/FW (ICH6/ICH6W) */
++ { 0x8086, 0x2651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata },
++ /* 82801FR/FRW (ICH6R/ICH6RW) */
++ { 0x8086, 0x2652, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
++ /* 82801FBM ICH6M (ICH6R with only port 0 and 2 implemented) */
++ { 0x8086, 0x2653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6m_sata_ahci },
++ /* 82801GB/GR/GH (ICH7, identical to ICH6) */
++ { 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
++ /* 2801GBM/GHM (ICH7M, identical to ICH6M) */
++ { 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6m_sata_ahci },
++ /* Enterprise Southbridge 2 (631xESB/632xESB) */
++ { 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
++ /* SATA Controller 1 IDE (ICH8) */
++ { 0x8086, 0x2820, 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_sata_ahci },
++ /* Mobile SATA Controller IDE (ICH8M) */
++ { 0x8086, 0x2828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
++ /* SATA Controller IDE (ICH9) */
++ { 0x8086, 0x2920, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
++ /* SATA Controller IDE (ICH9) */
++ { 0x8086, 0x2921, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
++ /* SATA Controller IDE (ICH9) */
++ { 0x8086, 0x2926, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
++ /* SATA Controller IDE (ICH9M) */
++ { 0x8086, 0x2928, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
++ /* SATA Controller IDE (ICH9M) */
++ { 0x8086, 0x292d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
++ /* SATA Controller IDE (ICH9M) */
++ { 0x8086, 0x292e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
++
+ { } /* terminate list */
+ };
+
+@@ -253,6 +282,20 @@
+ };
+
+ static struct ata_port_info piix_port_info[] = {
++ /* piix4_pata */
++ {
++ .sht = &piix_sht,
++ .host_flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
++ .pio_mask = 0x1f, /* pio0-4 */
++#if 0
++ .mwdma_mask = 0x06, /* mwdma1-2 */
++#else
++ .mwdma_mask = 0x00, /* mwdma broken */
++#endif
++ .udma_mask = ATA_UDMA_MASK_40C,
++ .port_ops = &piix_pata_ops,
++ },
++
+ /* ich5_pata */
+ {
+ .sht = &piix_sht,
+@@ -279,20 +322,18 @@
+ .port_ops = &piix_sata_ops,
+ },
+
+- /* piix4_pata */
+- {
+- .sht = &piix_sht,
+- .host_flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+- .pio_mask = 0x1f, /* pio0-4 */
+-#if 0
+- .mwdma_mask = 0x06, /* mwdma1-2 */
+-#else
+- .mwdma_mask = 0x00, /* mwdma broken */
+-#endif
+- .udma_mask = ATA_UDMA_MASK_40C,
+- .port_ops = &piix_pata_ops,
+- },
+
++ /* i6300esb_sata */
++ {
++ .sht = &piix_sht,
++ .host_flags = ATA_FLAG_SATA | ATA_FLAG_SRST |
++ PIIX_FLAG_COMBINED | PIIX_FLAG_CHECKINTR,
++ .pio_mask = 0x1f, /* pio0-4 */
++ .mwdma_mask = 0x07, /* mwdma0-2 */
++ .udma_mask = 0x7f, /* udma0-6 */
++ .port_ops = &piix_sata_ops,
++ },
++
+ /* ich6_sata */
+ {
+ .sht = &piix_sht,
+@@ -316,6 +357,30 @@
+ .udma_mask = 0x7f, /* udma0-6 */
+ .port_ops = &piix_sata_ops,
+ },
++
++ /* ich6m_sata_ahci */
++ {
++ .sht = &piix_sht,
++ .host_flags = ATA_FLAG_SATA | ATA_FLAG_SRST |
++ PIIX_FLAG_COMBINED | PIIX_FLAG_CHECKINTR |
++ ATA_FLAG_SLAVE_POSS | PIIX_FLAG_AHCI,
++ .pio_mask = 0x1f, /* pio0-4 */
++ .mwdma_mask = 0x07, /* mwdma0-2 */
++ .udma_mask = 0x7f, /* udma0-6 */
++ .port_ops = &piix_sata_ops,
++ },
++
++ /* ich8_sata_ahci */
++ {
++ .sht = &piix_sht,
++ .host_flags = ATA_FLAG_SATA | ATA_FLAG_SRST |
++ PIIX_FLAG_COMBINED | PIIX_FLAG_CHECKINTR |
++ ATA_FLAG_SLAVE_POSS | PIIX_FLAG_AHCI,
++ .pio_mask = 0x1f, /* pio0-4 */
++ .mwdma_mask = 0x07, /* mwdma0-2 */
++ .udma_mask = 0x7f, /* udma0-6 */
++ .port_ops = &piix_sata_ops,
++ },
+ };
+
+ static struct pci_bits piix_enable_bits[] = {
================================================================
More information about the pld-cvs-commit
mailing list