[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

A suggested patch for ICH5-SATA



Hello!

I'm configuring one of the new Intel server (entry level, SR1325-TP1).
I had some "troubles" because of SATA controller not detected in 2.4
neither in 2.6... only if you map into BIOS "LEGACY ATA" (that maps PATA
(for CDROM) and SATA as traditional ATA) 2.4 detects HDs even if it does
not enable DMA.

I think it's only a matter of pci id, I tryied to patch kernel with the
file attached and 2.4 detects it as a SATA and enable DMA. :)

It could be nice to include a similar patch into new kernels...
especially for installation step.

Thank you, Leonardo.
diff -Naru kernel-source-2.4.26/drivers/ide/pci/piix.c kernel-source-2.4.26-6300ESB-SATA/drivers/ide/pci/piix.c
--- kernel-source-2.4.26/drivers/ide/pci/piix.c	2004-04-14 13:05:30.000000000 +0000
+++ kernel-source-2.4.26-6300ESB-SATA/drivers/ide/pci/piix.c	2004-06-28 17:35:59.000000000 +0000
@@ -155,6 +155,7 @@
 			case PCI_DEVICE_ID_INTEL_82801E_11:
 			case PCI_DEVICE_ID_INTEL_ESB_2:
 			case PCI_DEVICE_ID_INTEL_ICH6_2:
+			case PCI_DEVICE_ID_INTEL_ESB_3:
 				p += sprintf(p, "PIIX4 Ultra 100 ");
 				break;
 			case PCI_DEVICE_ID_INTEL_82372FB_1:
@@ -294,6 +295,7 @@
 		case PCI_DEVICE_ID_INTEL_82801EB_11:
 		case PCI_DEVICE_ID_INTEL_ESB_2:
 		case PCI_DEVICE_ID_INTEL_ICH6_2:
+		case PCI_DEVICE_ID_INTEL_ESB_3:
 			mode = 3;
 			break;
 		/* UDMA 66 capable */
@@ -686,6 +688,7 @@
 		case PCI_DEVICE_ID_INTEL_82801E_11:
 		case PCI_DEVICE_ID_INTEL_ESB_2:
 		case PCI_DEVICE_ID_INTEL_ICH6_2:
+		case PCI_DEVICE_ID_INTEL_ESB_3:
 		{
 			unsigned int extra = 0;
 			pci_read_config_dword(dev, 0x54, &extra);
@@ -883,6 +886,7 @@
  	{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 18},
 	{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 19},
 	{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 20},
+	{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 21},
 	{ 0, },
 };
 
diff -Naru kernel-source-2.4.26/drivers/ide/pci/piix.h kernel-source-2.4.26-6300ESB-SATA/drivers/ide/pci/piix.h
--- kernel-source-2.4.26/drivers/ide/pci/piix.h	2004-04-14 13:05:30.000000000 +0000
+++ kernel-source-2.4.26-6300ESB-SATA/drivers/ide/pci/piix.h	2004-06-28 17:36:31.000000000 +0000
@@ -333,6 +333,20 @@
 		.enablebits	= {{0x41,0x80,0x80}, {0x43,0x80,0x80}},
 		.bootable	= ON_BOARD,
 		.extra		= 0,
+	},{	/* 21 */
+		.vendor		= PCI_VENDOR_ID_INTEL,
+		.device		= PCI_DEVICE_ID_INTEL_ESB_3,
+		.name		= "ICH5-SATA",
+		.init_setup	= init_setup_piix,
+		.init_chipset	= init_chipset_piix,
+		.init_iops	= NULL,
+		.init_hwif	= init_hwif_piix,
+		.init_dma	= init_dma_piix,
+		.channels	= 2,
+		.autodma	= AUTODMA,
+		.enablebits	= {{0x41,0x80,0x80}, {0x43,0x80,0x80}},
+		.bootable	= ON_BOARD,
+		.extra		= 0,
 	},{
 		.vendor		= 0,
 		.device		= 0,

Reply to: