Silicon Image 3512 SATA Controller - Tested
PATCH 1/1 Silicon Image 3512 SATA Controller - Tested
This patch enables the Silicon Image 3512 SATA Controller and has been tested and functioning without any apparent bugs (I do not have a full test suite but I am not booting off a device attached to this controller). This patch is against the Dave Jones 2.6.1-1.34 kernel source rpm.
You may remember I was trying to get help on this chipset before. My patch is simply a duplicate of the entries for the 3112 chipset. It did not work fully with prior kernels, giving me a "Interrupt Lost" errors. Whatever else was done to 2.6.1 had made it happy again. Also I did not have to use any special commandline options.
Aron
Signature · 7 lines
ssh [email protected] cat /dev/brain | grep ^work: Aron Rubin Member, Engineering Staff Lockheed Martin E-Mail: [email protected] Advanced Technology Laboratories Phone: 856.792.9865 3 Executive Campus Fax: 856.792.9930 Cherry Hill, NJ USA 08002 Web: http://www.atl.lmco.com
include/linux/pci_ids.h renamed from include/linux/pci_ids.h.orig +1 -0
@@ -883,6 +883,7 @@#define PCI_DEVICE_ID_SII_680 0x0680#define PCI_DEVICE_ID_SII_3112 0x3112 +#define PCI_DEVICE_ID_SII_3512 0x3512#define PCI_DEVICE_ID_SII_1210SA 0x0240#define PCI_VENDOR_ID_VISION 0x1098
drivers/scsi/sata_sil.c renamed from drivers/scsi/sata_sil.c.orig +11 -0
@@ -39,6 +39,7 @@enum { sil_3112 =0 , + sil_3512 =1 ,SIL_IDE0_TF =0x80 ,SIL_IDE0_CTL =0x8A ,
@@ -62,6 +63,7 @@static struct pci_device_id sil_pci_tbl[] = { {0x1095 ,0x3112 ,PCI_ANY_ID ,PCI_ANY_ID ,0 ,0 , sil_3112 }, + {0x1095 ,0x3512 ,PCI_ANY_ID ,PCI_ANY_ID ,0 ,0 , sil_3512 }, { }/* terminate list */ };
@@ -121,6 +123,15 @@ .udma_mask = 0x7f, /* udma0-6; FIXME */ .port_ops = &sil_ops, }, +/* sil_3512 */ + { + .sht = &sil_sht, + .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | + ATA_FLAG_SRST | ATA_FLAG_MMIO, + .pio_mask = 0x03, /* pio3-4 */ + .udma_mask = 0x7f, /* udma0-6; FIXME */ + .port_ops = &sil_ops, + }, };MODULE_AUTHOR ("Jeff Garzik" );
drivers/ide/pci/siimage.c renamed from drivers/ide/pci/siimage.c.orig +2 -0
@@ -55,6 +55,7 @@switch (pdev->device) {case PCI_DEVICE_ID_SII_3112 : +case PCI_DEVICE_ID_SII_3512 :case PCI_DEVICE_ID_SII_1210SA :return 1 ;case PCI_DEVICE_ID_SII_680 :
@@ -1179,6 +1180,7 @@ { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_1210SA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, + { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3512, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3}, { 0, }, };
drivers/ide/pci/siimage.h renamed from drivers/ide/pci/siimage.h.orig +12 -0
@@ -82,6 +82,18 @@ .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, .bootable = ON_BOARD, .extra = 0, + },{ /* 3 */ + .vendor = PCI_VENDOR_ID_CMD, + .device = PCI_DEVICE_ID_SII_3512, + .name = "SiI3512 Serial ATA", + .init_chipset = init_chipset_siimage, + .init_iops = init_iops_siimage, + .init_hwif = init_hwif_siimage, + .channels = 2, + .autodma = AUTODMA, + .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, + .bootable = ON_BOARD, + .extra = 0, },{ .vendor = 0, .device = 0,
Quoted 3 lines · Aron Rubin
This patch enables the Silicon Image 3512 SATA Controller and has been tested and functioning without any apparent bugs (I do not have a full test suite but I am not booting off a device attached to this controller). This patch is against the Dave Jones 2.6.1-1.34 kernel source rpm.
You may remember I was trying to get help on this chipset before. My patch is simply a duplicate of the entries for the 3112 chipset. It did not work fully with prior kernels, giving me a "Interrupt Lost" errors. Whatever else was done to 2.6.1 had made it happy again. Also I did not have to use any special commandline options.
Did you test the sata_sil driver as well?
It's patch should just be one line... No need to add a duplicate ata_host_info entry when you could instead just reference the sil_3112 settings...
Thanks,
Jeff
Actually I am not really sure how to force one or the other do I just say hda=sata_sil or something?
Quoted 23 lines · Jeff Garzik
Quoted 3 lines · Aron Rubin
This patch enables the Silicon Image 3512 SATA Controller and has been tested and functioning without any apparent bugs (I do not have a full test suite but I am not booting off a device attached to this controller). This patch is against the Dave Jones 2.6.1-1.34 kernel source rpm.
You may remember I was trying to get help on this chipset before. My patch is simply a duplicate of the entries for the 3112 chipset. It did not work fully with prior kernels, giving me a "Interrupt Lost" errors. Whatever else was done to 2.6.1 had made it happy again. Also I did not have to use any special commandline options.
Did you test the
sata_sildriver as well?It's patch should just be one line... No need to add a duplicate
ata_host_infoentry when you could instead just reference thesil_3112settings...Thanks,
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Signature · 7 lines
ssh [email protected] cat /dev/brain | grep ^work: Aron Rubin Member, Engineering Staff Lockheed Martin E-Mail: [email protected] Advanced Technology Laboratories Phone: 856.792.9865 3 Executive Campus Fax: 856.792.9930 Cherry Hill, NJ USA 08002 Web: http://www.atl.lmco.com