ia64/linux-2.6.18-xen.hg

changeset 492:ba11d3cf69f0

Support for ICH10 chipset PCI IDs.
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
author Keir Fraser <keir.fraser@citrix.com>
date Wed Mar 26 08:52:36 2008 +0000 (2008-03-26)
parents 14b987774233
children 92f7b3144f41
files Documentation/i2c/busses/i2c-i801 arch/i386/pci/irq-xen.c arch/i386/pci/irq.c drivers/i2c/busses/Kconfig drivers/i2c/busses/i2c-i801.c drivers/scsi/ahci.c drivers/scsi/ata_piix.c include/linux/pci_ids.h sound/pci/hda/hda_intel.c
line diff
     1.1 --- a/Documentation/i2c/busses/i2c-i801	Tue Mar 25 17:54:59 2008 +0000
     1.2 +++ b/Documentation/i2c/busses/i2c-i801	Wed Mar 26 08:52:36 2008 +0000
     1.3 @@ -10,6 +10,11 @@ Supported adapters:
     1.4    * Intel 6300ESB
     1.5    * Intel 82801FB/FR/FW/FRW (ICH6)
     1.6    * Intel ICH7
     1.7 +  * Intel 82801G (ICH7)
     1.8 +  * Intel 82801H (ICH9)
     1.9 +  * Intel 82801I (ICH9)
    1.10 +  * Intel Tolapai
    1.11 +  * Intel ICH10
    1.12      Datasheets: Publicly available at the Intel website
    1.13  
    1.14  Authors: 
     2.1 --- a/arch/i386/pci/irq-xen.c	Tue Mar 25 17:54:59 2008 +0000
     2.2 +++ b/arch/i386/pci/irq-xen.c	Wed Mar 26 08:52:36 2008 +0000
     2.3 @@ -553,6 +553,10 @@ static __init int intel_router_probe(str
     2.4  		case PCI_DEVICE_ID_INTEL_ICH9_3:
     2.5  		case PCI_DEVICE_ID_INTEL_ICH9_4:
     2.6  		case PCI_DEVICE_ID_INTEL_ICH9_5:
     2.7 +		case PCI_DEVICE_ID_INTEL_ICH10_0:
     2.8 +		case PCI_DEVICE_ID_INTEL_ICH10_1:
     2.9 +		case PCI_DEVICE_ID_INTEL_ICH10_2:
    2.10 +		case PCI_DEVICE_ID_INTEL_ICH10_3:
    2.11  			r->name = "PIIX/ICH";
    2.12  			r->get = pirq_piix_get;
    2.13  			r->set = pirq_piix_set;
     3.1 --- a/arch/i386/pci/irq.c	Tue Mar 25 17:54:59 2008 +0000
     3.2 +++ b/arch/i386/pci/irq.c	Wed Mar 26 08:52:36 2008 +0000
     3.3 @@ -549,6 +549,10 @@ static __init int intel_router_probe(str
     3.4  		case PCI_DEVICE_ID_INTEL_ICH9_3:
     3.5  		case PCI_DEVICE_ID_INTEL_ICH9_4:
     3.6  		case PCI_DEVICE_ID_INTEL_ICH9_5:
     3.7 +		case PCI_DEVICE_ID_INTEL_ICH10_0:
     3.8 +		case PCI_DEVICE_ID_INTEL_ICH10_1:
     3.9 +		case PCI_DEVICE_ID_INTEL_ICH10_2:
    3.10 +		case PCI_DEVICE_ID_INTEL_ICH10_3:
    3.11  			r->name = "PIIX/ICH";
    3.12  			r->get = pirq_piix_get;
    3.13  			r->set = pirq_piix_set;
     4.1 --- a/drivers/i2c/busses/Kconfig	Tue Mar 25 17:54:59 2008 +0000
     4.2 +++ b/drivers/i2c/busses/Kconfig	Wed Mar 26 08:52:36 2008 +0000
     4.3 @@ -126,6 +126,7 @@ config I2C_I801
     4.4  	    ESB2
     4.5  	    ICH8
     4.6  	    ICH9
     4.7 +	    ICH10
     4.8  
     4.9  	  This driver can also be built as a module.  If so, the module
    4.10  	  will be called i2c-i801.
     5.1 --- a/drivers/i2c/busses/i2c-i801.c	Tue Mar 25 17:54:59 2008 +0000
     5.2 +++ b/drivers/i2c/busses/i2c-i801.c	Wed Mar 26 08:52:36 2008 +0000
     5.3 @@ -34,6 +34,8 @@
     5.4      ESB2		269B
     5.5      ICH8		283E
     5.6      ICH9		2930
     5.7 +    ICH10		3A30
     5.8 +    ICH10		3A60
     5.9      This driver supports several versions of Intel's I/O Controller Hubs (ICH).
    5.10      For SMBus support, they are similar to the PIIX4 and are part
    5.11      of Intel's '810' and other chipsets.
    5.12 @@ -459,6 +461,8 @@ static struct pci_device_id i801_ids[] =
    5.13  	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB2_17) },
    5.14  	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH8_5) },
    5.15  	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_6) },
    5.16 +	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_4) },
    5.17 +	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_5) },
    5.18  	{ 0, }
    5.19  };
    5.20  
     6.1 --- a/drivers/scsi/ahci.c	Tue Mar 25 17:54:59 2008 +0000
     6.2 +++ b/drivers/scsi/ahci.c	Wed Mar 26 08:52:36 2008 +0000
     6.3 @@ -339,6 +339,12 @@ static const struct pci_device_id ahci_p
     6.4  	  board_ahci }, /* ICH9 */
     6.5  	{ PCI_VENDOR_ID_INTEL, 0x294e, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
     6.6  	  board_ahci }, /* ICH9M */
     6.7 +	{ PCI_VENDOR_ID_INTEL, 0x3a02, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
     6.8 +	  board_ahci }, /* ICH10 */
     6.9 +	{ PCI_VENDOR_ID_INTEL, 0x3a05, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
    6.10 +	  board_ahci }, /* ICH10 */
    6.11 +	{ PCI_VENDOR_ID_INTEL, 0x3a25, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
    6.12 +	  board_ahci }, /* ICH10 */
    6.13  
    6.14  	/* JMicron */
    6.15  	{ 0x197b, 0x2360, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
     7.1 --- a/drivers/scsi/ata_piix.c	Tue Mar 25 17:54:59 2008 +0000
     7.2 +++ b/drivers/scsi/ata_piix.c	Wed Mar 26 08:52:36 2008 +0000
     7.3 @@ -126,6 +126,7 @@ enum {
     7.4  	ich7m_sata_ahci		= 7,
     7.5  	ich8_sata_ahci		= 8,
     7.6  	ich9_sata_ahci		= 9,
     7.7 +	ich8_2port_sata		= 10,
     7.8  
     7.9  	/* constants for mapping table */
    7.10  	P0			= 0,  /* port 0 */
    7.11 @@ -193,10 +194,10 @@ static const struct pci_device_id piix_p
    7.12  	{ 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich7m_sata_ahci },
    7.13  	/* Enterprise Southbridge 2 (where's the datasheet?) */
    7.14  	{ 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
    7.15 -	/* SATA Controller 1 IDE (ICH8, no datasheet yet) */
    7.16 +	/* SATA Controller 1 IDE (ICH8) */
    7.17  	{ 0x8086, 0x2820, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
    7.18 -	/* SATA Controller 2 IDE (ICH8, ditto) */
    7.19 -	{ 0x8086, 0x2825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
    7.20 +	/* SATA Controller 2 IDE (ICH8) */
    7.21 +	{ 0x8086, 0x2825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
    7.22  	/* Mobile SATA Controller IDE (ICH8M, ditto) */
    7.23  	{ 0x8086, 0x2828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
    7.24  	/* SATA Controller 1 IDE (ICH9) */
    7.25 @@ -211,6 +212,14 @@ static const struct pci_device_id piix_p
    7.26  	{ 0x8086, 0x292d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich9_sata_ahci },
    7.27  	/* Mobile SATA Controller 2 IDE (ICH9M) */
    7.28  	{ 0x8086, 0x292e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich9_sata_ahci },
    7.29 +	/* SATA Controller IDE (ICH10) */
    7.30 +	{ 0x8086, 0x3a00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
    7.31 +	/* SATA Controller IDE (ICH10) */
    7.32 +	{ 0x8086, 0x3a06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
    7.33 +	/* SATA Controller IDE (ICH10) */
    7.34 +	{ 0x8086, 0x3a20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci },
    7.35 +	/* SATA Controller IDE (ICH10) */
    7.36 +	{ 0x8086, 0x3a26, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
    7.37  
    7.38  	{ }	/* terminate list */
    7.39  };
    7.40 @@ -394,6 +403,18 @@ static const struct piix_map_db ich9_map
    7.41  	},
    7.42  };
    7.43  
    7.44 +static const struct piix_map_db ich8_2port_map_db = {
    7.45 +	.mask = 0x3,
    7.46 +	.port_enable = 0x3,
    7.47 +	.map = {
    7.48 +		/* PM   PS   SM   SS       MAP */
    7.49 +		{  P0,  NA,  P1,  NA }, /* 00b */
    7.50 +		{  RV,  RV,  RV,  RV }, /* 01b */
    7.51 +		{  RV,  RV,  RV,  RV }, /* 10b */
    7.52 +		{  RV,  RV,  RV,  RV },
    7.53 +	},
    7.54 +};
    7.55 +
    7.56  static const struct piix_map_db *piix_map_db_table[] = {
    7.57  	[ich5_sata]		= &ich5_map_db,
    7.58  	[esb_sata]		= &ich5_map_db,
    7.59 @@ -403,6 +424,7 @@ static const struct piix_map_db *piix_ma
    7.60  	[ich7m_sata_ahci]	= &ich7m_map_db,
    7.61  	[ich8_sata_ahci]	= &ich8_map_db,
    7.62  	[ich9_sata_ahci]	= &ich9_map_db,
    7.63 +	[ich8_2port_sata]	= &ich8_2port_map_db,
    7.64  };
    7.65  
    7.66  static struct ata_port_info piix_port_info[] = {
    7.67 @@ -526,6 +548,18 @@ static struct ata_port_info piix_port_in
    7.68  		.udma_mask	= 0x7f, /* udma0-6 */
    7.69  		.port_ops	= &piix_sata_ops,
    7.70  	},
    7.71 +	
    7.72 +	/* ich8_2port_sata: 11: */
    7.73 +	{
    7.74 +		.sht		= &piix_sht,
    7.75 +		.host_flags	= ATA_FLAG_SATA |
    7.76 +				  PIIX_FLAG_CHECKINTR | PIIX_FLAG_SCR |
    7.77 +				  PIIX_FLAG_AHCI,
    7.78 +		.pio_mask	= 0x1f,	/* pio0-4 */
    7.79 +		.mwdma_mask	= 0x07, /* mwdma0-2 */
    7.80 +		.udma_mask	= ATA_UDMA6,
    7.81 +		.port_ops	= &piix_pata_ops,
    7.82 +	},
    7.83  };
    7.84  
    7.85  static struct pci_bits piix_enable_bits[] = {
     8.1 --- a/include/linux/pci_ids.h	Tue Mar 25 17:54:59 2008 +0000
     8.2 +++ b/include/linux/pci_ids.h	Wed Mar 26 08:52:36 2008 +0000
     8.3 @@ -2209,6 +2209,12 @@
     8.4  #define PCI_DEVICE_ID_INTEL_MCH_PC	0x3599
     8.5  #define PCI_DEVICE_ID_INTEL_MCH_PC1	0x359a
     8.6  #define PCI_DEVICE_ID_INTEL_E7525_MCH	0x359e
     8.7 +#define PCI_DEVICE_ID_INTEL_ICH10_0	0x3a14
     8.8 +#define PCI_DEVICE_ID_INTEL_ICH10_1	0x3a16
     8.9 +#define PCI_DEVICE_ID_INTEL_ICH10_2	0x3a18
    8.10 +#define PCI_DEVICE_ID_INTEL_ICH10_3	0x3a1a
    8.11 +#define PCI_DEVICE_ID_INTEL_ICH10_4	0x3a30
    8.12 +#define PCI_DEVICE_ID_INTEL_ICH10_5	0x3a60
    8.13  #define PCI_DEVICE_ID_INTEL_82371SB_0	0x7000
    8.14  #define PCI_DEVICE_ID_INTEL_82371SB_1	0x7010
    8.15  #define PCI_DEVICE_ID_INTEL_82371SB_2	0x7020
     9.1 --- a/sound/pci/hda/hda_intel.c	Tue Mar 25 17:54:59 2008 +0000
     9.2 +++ b/sound/pci/hda/hda_intel.c	Wed Mar 26 08:52:36 2008 +0000
     9.3 @@ -81,6 +81,7 @@ MODULE_SUPPORTED_DEVICE("{{Intel, ICH6},
     9.4  			 "{Intel, ESB2},"
     9.5  			 "{Intel, ICH8},"
     9.6  			 "{Intel, ICH9},"
     9.7 +			 "{Intel, ICH10},"
     9.8  			 "{ATI, SB450},"
     9.9  			 "{ATI, SB600},"
    9.10  			 "{ATI, RS600},"
    9.11 @@ -1637,6 +1638,8 @@ static struct pci_device_id azx_ids[] = 
    9.12  	{ 0x8086, 0x284b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH8 */
    9.13  	{ 0x8086, 0x293e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH9 */
    9.14  	{ 0x8086, 0x293f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH9 */
    9.15 +	{ 0x8086, 0x3a3e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH10 */
    9.16 +	{ 0x8086, 0x3a6e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH10 */
    9.17  	{ 0x1002, 0x437b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATI }, /* ATI SB450 */
    9.18  	{ 0x1002, 0x4383, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATI }, /* ATI SB600 */
    9.19  	{ 0x1002, 0x793b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RS600 HDMI */