public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Add suport for Marvell 88SE6121 in pata_marvell
@ 2007-01-06 12:24 Jose Alberto Reguero
  2007-01-06 15:36 ` Jose Alberto Reguero
  2007-01-15 19:00 ` Jay Cliburn
  0 siblings, 2 replies; 3+ messages in thread
From: Jose Alberto Reguero @ 2007-01-06 12:24 UTC (permalink / raw)
  To: linux-kernel; +Cc: Jose Alberto Reguero

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

Marvell 88SE6121 is a ahci controller, but I can't make it work with the achi 
driver.
This part:

+       else if (pdev->device == 0x6121) {
+               mmio_base = pci_iomap(pdev, 5, 0);
+               if (mmio_base == NULL) {
+                       return -ENOMEM;
+               }
+               /* turn on legacy mode */
+               writel(0, mmio_base + 0x04);
+               (void) readl(mmio_base + 0x04); /* flush */
+       }

put the ahci in legacy mode and work with pata_marvell.
Perhaps someone else can make it work whith the ahci driver.

Jose Alberto

[-- Attachment #2: pata_marvell.diff --]
[-- Type: text/x-diff, Size: 1154 bytes --]

--- linux-2.6.20-rc3/drivers/ata/pata_marvell.c	2007-01-01 01:53:20.000000000 +0100
+++ linux-2.6.20-rc3.new/drivers/ata/pata_marvell.c	2007-01-06 12:33:03.000000000 +0100
@@ -49,7 +49,7 @@
 	devices = readl(barp + 0x0C);
 	pci_iounmap(pdev, barp);
 	
-	if ((pdev->device == 0x6145) && (ap->port_no == 0) &&
+	if (((pdev->device == 0x6145) || (pdev->device == 0x6121)) && (ap->port_no == 0) &&
 	    (!(devices & 0x10)))	/* PATA enable ? */
 		return -ENOENT;
 
@@ -181,9 +181,19 @@
 	};
 	struct ata_port_info *port_info[2] = { &info, &info_sata };
 	int n_port = 2;
+	void __iomem *mmio_base;
 
 	if (pdev->device == 0x6101)
 		n_port = 1;
+	else if (pdev->device == 0x6121) {
+		mmio_base = pci_iomap(pdev, 5, 0);
+		if (mmio_base == NULL) {
+			return -ENOMEM;
+		}
+		/* turn on legacy mode */
+		writel(0, mmio_base + 0x04);
+		(void) readl(mmio_base + 0x04);	/* flush */
+	}
 
 	return ata_pci_init_one(pdev, port_info, n_port);
 }
@@ -191,6 +201,7 @@
 static const struct pci_device_id marvell_pci_tbl[] = {
 	{ PCI_DEVICE(0x11AB, 0x6101), },
 	{ PCI_DEVICE(0x11AB, 0x6145), },
+	{ PCI_DEVICE(0x11AB, 0x6121), },
 	{ }	/* terminate list */
 };
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-01-15 19:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-06 12:24 [PATCH] Add suport for Marvell 88SE6121 in pata_marvell Jose Alberto Reguero
2007-01-06 15:36 ` Jose Alberto Reguero
2007-01-15 19:00 ` Jay Cliburn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox