linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mickael Marchand <marchand@kde.org>
To: Aron Rubin <arubin@atl.lmco.com>,
	linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Silicon image 3114 SATA link (really basic support)
Date: Tue, 9 Dec 2003 19:54:26 +0100	[thread overview]
Message-ID: <200312091954.28224.marchand@kde.org> (raw)
In-Reply-To: <3FD612E2.90607@atl.lmco.com>

[-- Attachment #1: Type: Text/Plain, Size: 1287 bytes --]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le Tuesday 09 December 2003 19:22, Aron Rubin a écrit :
> Mickael Marchand wrote:
> > here it is ;) (for 2.6.0-test11)
> > it includes patches in siimage.c but it did not work IIRC (lost
> > interrupt). (don't compile siimage inside the kernel, it would not boot)
>
> Your messages seem to be conflicting. Does this work or not or just
> enough to see messages? I am dealing with the same exact thing for the
> 3512 chipset.
>
> Aron

Hi,

there are 2 drivers in the kernel for SATA drives.
first one is the IDE way in drivers/ide/pci/siimage.c (sata drives appears as 
hde,hdf etc ). 
the second drive is in libata in drivers/scsi/sata_sil.c (sata drives appears 
as sda,sdb etc ...) (the one I use daily)

the attached patch makes _both_ drivers work (whereas the previous one made 
only the libata one working)

I have not yet tested if the 4 sata ports works. I think I need to change the 
"channels" setting to have support for all ports (at least 2 ports work for 
me). I will try that later.

Cheers,
Mik
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/1hpiyOYzc4nQ8j0RAjGTAJsETf+ARzNoIEuHbrakP/6p/jb+hwCgifj0
f9SZw9X2/1i6sYTx72MpEcE=
=doIM
-----END PGP SIGNATURE-----

[-- Attachment #2: sil3114.patch --]
[-- Type: text/x-diff, Size: 3957 bytes --]

diff -u -r linux-2.6.0-test11.orig/drivers/ide/pci/siimage.c linux-2.6.0-test11/drivers/ide/pci/siimage.c
--- linux-2.6.0-test11.orig/drivers/ide/pci/siimage.c	2003-11-26 21:43:35.000000000 +0100
+++ linux-2.6.0-test11/drivers/ide/pci/siimage.c	2003-12-06 13:56:30.000000000 +0100
@@ -55,6 +55,7 @@
 	switch(pdev->device)
 	{
 		case PCI_DEVICE_ID_SII_3112:
+		case PCI_DEVICE_ID_SII_3114:
 		case PCI_DEVICE_ID_SII_1210SA:
 			return 1;
 		case PCI_DEVICE_ID_SII_680:
@@ -1178,7 +1179,8 @@
 static struct pci_device_id siimage_pci_tbl[] = {
 	{ 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_3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2},
+	{ PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_1210SA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3},
 	{ 0, },
 };
 
diff -u -r linux-2.6.0-test11.orig/drivers/ide/pci/siimage.h linux-2.6.0-test11/drivers/ide/pci/siimage.h
--- linux-2.6.0-test11.orig/drivers/ide/pci/siimage.h	2003-11-26 21:44:17.000000000 +0100
+++ linux-2.6.0-test11/drivers/ide/pci/siimage.h	2003-12-05 16:46:50.000000000 +0100
@@ -13,7 +13,7 @@
 #undef SIIMAGE_BUFFERED_TASKFILE
 #undef SIIMAGE_LARGE_DMA
 
-#define SII_DEBUG 0
+#define SII_DEBUG 1
 
 #if SII_DEBUG
 #define siiprintk(x...)	printk(x)
@@ -72,6 +72,18 @@
 		.extra		= 0,
 	},{	/* 2 */
 		.vendor		= PCI_VENDOR_ID_CMD,
+		.device		= PCI_DEVICE_ID_SII_3114,
+		.name		= "SiI3114 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,
+	},{	/* 3 */
+		.vendor		= PCI_VENDOR_ID_CMD,
 		.device		= PCI_DEVICE_ID_SII_1210SA,
 		.name		= "Adaptec AAR-1210SA",
 		.init_chipset	= init_chipset_siimage,
diff -u -r linux-2.6.0-test11.orig/drivers/scsi/Kconfig linux-2.6.0-test11/drivers/scsi/Kconfig
--- linux-2.6.0-test11.orig/drivers/scsi/Kconfig	2003-11-26 21:45:32.000000000 +0100
+++ linux-2.6.0-test11/drivers/scsi/Kconfig	2003-12-05 16:54:20.000000000 +0100
@@ -441,7 +441,7 @@
 
 config SCSI_SATA_SIL
 	tristate "Silicon Image SATA support"
-	depends on SCSI_SATA && PCI && BROKEN
+	depends on SCSI_SATA && PCI
 	help
 	  This option enables support for Silicon Image Serial ATA.
 
diff -u -r linux-2.6.0-test11.orig/drivers/scsi/sata_sil.c linux-2.6.0-test11/drivers/scsi/sata_sil.c
--- linux-2.6.0-test11.orig/drivers/scsi/sata_sil.c	2003-11-26 21:42:46.000000000 +0100
+++ linux-2.6.0-test11/drivers/scsi/sata_sil.c	2003-12-05 16:50:32.000000000 +0100
@@ -39,6 +39,7 @@
 
 enum {
 	sil_3112		= 0,
+	sil_3114		= 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, 0x3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3114 },
 	{ }	/* terminate list */
 };
 
@@ -119,6 +121,14 @@
 		.pio_mask	= 0x03,			/* pio3-4 */
 		.udma_mask	= 0x7f,			/* udma0-6; FIXME */
 		.port_ops	= &sil_ops,
+	}, /* sil_3114 */
+	{
+		.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,
 	},
 };
 
diff -u -r linux-2.6.0-test11.orig/include/linux/pci_ids.h linux-2.6.0-test11/include/linux/pci_ids.h
--- linux-2.6.0-test11.orig/include/linux/pci_ids.h	2003-11-26 21:43:39.000000000 +0100
+++ linux-2.6.0-test11/include/linux/pci_ids.h	2003-12-06 13:59:45.000000000 +0100
@@ -882,6 +882,7 @@
 
 #define PCI_DEVICE_ID_SII_680		0x0680
 #define PCI_DEVICE_ID_SII_3112		0x3112
+#define PCI_DEVICE_ID_SII_3114		0x3114
 #define PCI_DEVICE_ID_SII_1210SA	0x0240
 
 #define PCI_VENDOR_ID_VISION		0x1098


  reply	other threads:[~2003-12-09 18:54 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-03 20:44 Serial ATA (SATA) for Linux status report Jeff Garzik
2003-12-03 23:27 ` Andre Tomt
2003-12-03 23:36   ` Jeff Garzik
2003-12-03 23:49     ` Othmar Pasteka
2003-12-03 23:51       ` Jeff Garzik
2003-12-04  0:59     ` Samuel Flory
2003-12-04  1:02     ` Andre Tomt
2003-12-04 13:38     ` Justin Cormack
2003-12-04 14:54       ` Jeff Garzik
2003-12-04  8:17 ` Arnaud Launay
2003-12-04 15:01   ` Jeff Garzik
     [not found] ` <200312051842.26599.marchand@kde.org>
     [not found]   ` <3FD0C4B0.8020106@pobox.com>
     [not found]     ` <200312051907.13727.marchand@kde.org>
2003-12-09 18:22       ` [PATCH] Silicon image 3114 SATA link (really basic support) Aron Rubin
2003-12-09 18:54         ` Mickael Marchand [this message]
2003-12-09 20:14           ` Bartlomiej Zolnierkiewicz
2003-12-12  0:07             ` Mickael Marchand
2003-12-09 19:59 ` Serial ATA (SATA) for Linux status report J. Ryan Earl
2004-01-14 22:18 ` Greg Stark
2004-01-14 22:56   ` Erik Andersen
2004-01-14 23:31     ` James Courtier-Dutton
2004-01-15  0:41       ` Jeff Garzik
2004-01-15  2:38         ` Erik Andersen
2004-01-18 12:34         ` Martin Schlemmer
2004-01-14 23:12   ` Erik Steffl
2004-01-18 13:32 ` Witold Krecicki
2004-01-18 18:00   ` Jeff Garzik
2004-01-18 20:33     ` Craig Bradney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200312091954.28224.marchand@kde.org \
    --to=marchand@kde.org \
    --cc=arubin@atl.lmco.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).