Package: kernel-source-2.4.26 Version: 2.4.26-2 Severity: wishlist Tags: patch
This patch by Nick Craig-Wood enables DMA support for the Intel 6300ESB SATA disk controller in the Dell PowerEdge 750. A compatible driver is already in the kernel, so this patch just adds the new PCI device id.
diff -Ndru kernel-source-2.4.26/drivers/ide/pci/piix.c kernel-source-2.4.26-pe750/drivers/ide/pci/piix.c --- kernel-source-2.4.26/drivers/ide/pci/piix.c Wed Apr 14 13:05:30 2004 +++ kernel-source-2.4.26-pe750/drivers/ide/pci/piix.c Tue Jun 15 20:50:25 2004 @@ -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 -Ndru kernel-source-2.4.26/drivers/ide/pci/piix.h kernel-source-2.4.26-pe750/drivers/ide/pci/piix.h --- kernel-source-2.4.26/drivers/ide/pci/piix.h Wed Apr 14 13:05:30 2004 +++ kernel-source-2.4.26-pe750/drivers/ide/pci/piix.h Wed Jun 16 07:59:41 2004 @@ -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", + .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,