Messages in this thread Patch in this message | | | From | mkrikis@yahoo ... | Subject | Announce: updated "iswraid" (ICH5R/ICH6R ataraid sub-driver) for 2.4.25 | Date | 20 Feb 2004 21:45:03 -0500 |
| |
Hello,
Attached to this email is a gzipped patch for the next revision of the Intel Software RAID driver "iswraid" (which is an ataraid subdriver) for the 2.4.x series kernels. The patch is taken against kernel 2.4.25 with Jeff Garzik's 2.4.25-libata1.patch already applied. (This driver is useless without libata.) My apologies about the size and the binary nature of this attachment.
Also attached is a very small patch that enables (partial?) Intel's ICH6R chipset's SATA support in the ata_piix driver. I am sure that Jeff can enable this properly (or perhaps already has), but for those who find the chipset unidentified, this may be a quick fix. ICH6R is then usable in both the IDE and RAID modes.
The driver is intended to be used with Intel's ICH5R/ICH6R chipsets. Configuration of RAID volumes is done from the Option ROM. This "iswraid" driver differs from the other ataraid sub-drivers in that it operates on SCSI block devices rather than the ATA/IDE ones. The "ata_piix" driver (part of libata1) presents the SATA disks connected to ICH5R/ICH6R chipsets as SCSI disks. The "iswraid" driver is considered experimental, use at your own risk.
Thanks to Boji Kannanthanam for answering my questions and to Jeff Garzik for providing a great low level driver to utilize.
Please feel free to send me any feedback and/or comments.
Thanks,
Martins Krikis [unhandled content-type:application/octet-stream]diff -Naur linux-2.4.25-libata1/drivers/scsi/ata_piix.c linux-2.4.25-libata1-ich6r/drivers/scsi/ata_piix.c --- linux-2.4.25-libata1/drivers/scsi/ata_piix.c 2004-02-20 22:41:05.000000000 +0000 +++ linux-2.4.25-libata1-ich6r/drivers/scsi/ata_piix.c 2004-02-20 23:03:57.000000000 +0000 @@ -45,6 +45,7 @@ ich5_pata = 0, ich5_sata = 1, piix4_pata = 2, + ich6_sata = 3, }; static int piix_init_one (struct pci_dev *pdev, @@ -71,6 +72,7 @@ { 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, 0x2652, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata }, { } /* terminate list */ }; @@ -175,6 +177,17 @@ .udma_mask = ATA_UDMA_MASK_40C, /* FIXME: cbl det */ .port_ops = &piix_pata_ops, }, + + /* ich6_sata */ + { + .sht = &piix_sht, + .host_flags = ATA_FLAG_SATA | PIIX_FLAG_COMBINED | + ATA_FLAG_SRST | ATA_FLAG_SLAVE_POSS | + ATA_FLAG_NO_LEGACY, + .pio_mask = 0x03, /* pio3-4 */ + .udma_mask = 0x7f, /* udma0-6 ; FIXME */ + .port_ops = &piix_sata_ops, + }, }; static struct pci_bits piix_enable_bits[] = { | |