lkml.org 
[lkml]   [2007]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] Add suport for Marvell 88SE6121 in pata_marvell
Date
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
--- 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 */
};
\
 
 \ /
  Last update: 2007-01-06 13:27    [W:0.143 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site