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