kern/165271: Correct Marvell SATA controller names

Jia-Shiun Li jiashiun at gmail.com
Sat Feb 18 18:30:13 UTC 2012


>Number:         165271
>Category:       kern
>Synopsis:       Correct Marvell SATA controller names
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Feb 18 18:30:12 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Jia-Shiun Li
>Release:        FreeBSD 10.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD bsdvm 10.0-CURRENT FreeBSD 10.0-CURRENT #2: Sat Jan 28 20:56:05 CST 2012 root at bsdvm:/usr/obj/usr/src/sys/vm i386
>Description:
Correct Marvell SATA controller names in ata driver.

Unlike that all prefixed 88SX in ata driver/manpage, Marvell SATA controllers actually have two type of prefixes:

88SX[567]0xx
88SE61xx
88SE91xx
88SE92xx

ref: http://www.marvell.com/storage/system-solutions/sata-controllers/

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: share/man/man4/ata.4
===================================================================
--- share/man/man4/ata.4	(revision 231896)
+++ share/man/man4/ata.4	(working copy)
@@ -193,8 +193,8 @@
 .It JMicron:
 JMB360, JMB361, JMB363, JMB365, JMB366, JMB368.
 .It Marvell
-88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6042, 88SX6081, 88SX6101,
-88SX6102, 88SX6111, 88SX6121, 88SX6141, 88SX6145, 88SX7042.
+88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6042, 88SX6081, 88SE6101,
+88SE6102, 88SE6111, 88SE6121, 88SE6141, 88SE6145, 88SX7042.
 .It National:
 SC1100.
 .It NetCell:
Index: share/man/man4/ahci.4
===================================================================
--- share/man/man4/ahci.4	(revision 231896)
+++ share/man/man4/ahci.4	(working copy)
@@ -146,7 +146,7 @@
 .Pp
 Also, in cooperation with atamarvell and atajmicron drivers of ata(4),
 it supports AHCI part of legacy-PATA + AHCI-SATA combined controllers,
-such as JMicron JMB36x and Marvell 88SX61xx.
+such as JMicron JMB36x and Marvell 88SE61xx.
 .Sh FILES
 .Bl -tag -width /dev/led/ahcich*.locate
 .It Pa /dev/led/ahcich*.act
Index: sys/dev/ahci/ahci.c
===================================================================
--- sys/dev/ahci/ahci.c	(revision 231896)
+++ sys/dev/ahci/ahci.c	(working copy)
@@ -186,13 +186,13 @@
 	{0x2365197b, 0x00, "JMicron JMB365",	AHCI_Q_NOFORCE},
 	{0x2366197b, 0x00, "JMicron JMB366",	AHCI_Q_NOFORCE},
 	{0x2368197b, 0x00, "JMicron JMB368",	AHCI_Q_NOFORCE},
-	{0x611111ab, 0x00, "Marvell 88SX6111",	AHCI_Q_NOFORCE | AHCI_Q_1CH |
+	{0x611111ab, 0x00, "Marvell 88SE6111",	AHCI_Q_NOFORCE | AHCI_Q_1CH |
 	    AHCI_Q_EDGEIS},
-	{0x612111ab, 0x00, "Marvell 88SX6121",	AHCI_Q_NOFORCE | AHCI_Q_2CH |
+	{0x612111ab, 0x00, "Marvell 88SE6121",	AHCI_Q_NOFORCE | AHCI_Q_2CH |
 	    AHCI_Q_EDGEIS | AHCI_Q_NONCQ | AHCI_Q_NOCOUNT},
-	{0x614111ab, 0x00, "Marvell 88SX6141",	AHCI_Q_NOFORCE | AHCI_Q_4CH |
+	{0x614111ab, 0x00, "Marvell 88SE6141",	AHCI_Q_NOFORCE | AHCI_Q_4CH |
 	    AHCI_Q_EDGEIS | AHCI_Q_NONCQ | AHCI_Q_NOCOUNT},
-	{0x614511ab, 0x00, "Marvell 88SX6145",	AHCI_Q_NOFORCE | AHCI_Q_4CH |
+	{0x614511ab, 0x00, "Marvell 88SE6145",	AHCI_Q_NOFORCE | AHCI_Q_4CH |
 	    AHCI_Q_EDGEIS | AHCI_Q_NONCQ | AHCI_Q_NOCOUNT},
 	{0x91201b4b, 0x00, "Marvell 88SE912x",	AHCI_Q_EDGEIS|AHCI_Q_NOBSYRES},
 	{0x91231b4b, 0x11, "Marvell 88SE912x",	AHCI_Q_NOBSYRES|AHCI_Q_ALTSIG},
Index: sys/dev/ata/chipsets/ata-ahci.c
===================================================================
--- sys/dev/ata/chipsets/ata-ahci.c	(revision 231896)
+++ sys/dev/ata/chipsets/ata-ahci.c	(working copy)
@@ -180,12 +180,12 @@
     ctlr->ichannels = ATA_INL(ctlr->r_res2, ATA_AHCI_PI);
     ctlr->channels = MAX(flsl(ctlr->ichannels),
 	    (ATA_INL(ctlr->r_res2, ATA_AHCI_CAP) & ATA_AHCI_CAP_NPMASK) + 1);
-    if (pci_get_devid(dev) == ATA_M88SX6111)
+    if (pci_get_devid(dev) == ATA_M88SE6111)
 	    ctlr->channels = 1;
-    else if (pci_get_devid(dev) == ATA_M88SX6121)
+    else if (pci_get_devid(dev) == ATA_M88SE6121)
 	    ctlr->channels = 2;
-    else if (pci_get_devid(dev) == ATA_M88SX6141 ||
-	pci_get_devid(dev) == ATA_M88SX6145)
+    else if (pci_get_devid(dev) == ATA_M88SE6141 ||
+	pci_get_devid(dev) == ATA_M88SE6145)
 	    ctlr->channels = 4;
 
     ctlr->reset = ata_ahci_reset;
Index: sys/dev/ata/chipsets/ata-marvell.c
===================================================================
--- sys/dev/ata/chipsets/ata-marvell.c	(revision 231896)
+++ sys/dev/ata/chipsets/ata-marvell.c	(working copy)
@@ -108,12 +108,12 @@
      { ATA_M88SX6042, 0, 4, MV_6042, ATA_SA300, "88SX6042" },
      { ATA_M88SX6081, 0, 8, MV_60XX, ATA_SA300, "88SX6081" },
      { ATA_M88SX7042, 0, 4, MV_7042, ATA_SA300, "88SX7042" },
-     { ATA_M88SX6101, 0, 0, MV_61XX, ATA_UDMA6, "88SX6101" },
-     { ATA_M88SX6102, 0, 0, MV_61XX, ATA_UDMA6, "88SX6102" },
-     { ATA_M88SX6111, 0, 1, MV_61XX, ATA_UDMA6, "88SX6111" },
-     { ATA_M88SX6121, 0, 2, MV_61XX, ATA_UDMA6, "88SX6121" },
-     { ATA_M88SX6141, 0, 4, MV_61XX, ATA_UDMA6, "88SX6141" },
-     { ATA_M88SX6145, 0, 4, MV_61XX, ATA_UDMA6, "88SX6145" },
+     { ATA_M88SE6101, 0, 0, MV_61XX, ATA_UDMA6, "88SE6101" },
+     { ATA_M88SE6102, 0, 0, MV_61XX, ATA_UDMA6, "88SE6102" },
+     { ATA_M88SE6111, 0, 1, MV_61XX, ATA_UDMA6, "88SE6111" },
+     { ATA_M88SE6121, 0, 2, MV_61XX, ATA_UDMA6, "88SE6121" },
+     { ATA_M88SE6141, 0, 4, MV_61XX, ATA_UDMA6, "88SE6141" },
+     { ATA_M88SE6145, 0, 4, MV_61XX, ATA_UDMA6, "88SE6145" },
      { 0x91a41b4b,    0, 0, MV_91XX, ATA_UDMA6, "88SE912x" },
      { 0, 0, 0, 0, 0, 0}};
 
Index: sys/dev/ata/ata-pci.h
===================================================================
--- sys/dev/ata/ata-pci.h	(revision 231896)
+++ sys/dev/ata/ata-pci.h	(working copy)
@@ -278,12 +278,12 @@
 #define ATA_M88SX6042           0x604211ab
 #define ATA_M88SX6081           0x608111ab
 #define ATA_M88SX7042           0x704211ab
-#define ATA_M88SX6101           0x610111ab
-#define ATA_M88SX6102           0x610211ab
-#define ATA_M88SX6111           0x611111ab
-#define ATA_M88SX6121           0x612111ab
-#define ATA_M88SX6141           0x614111ab
-#define ATA_M88SX6145           0x614511ab
+#define ATA_M88SE6101           0x610111ab
+#define ATA_M88SE6102           0x610211ab
+#define ATA_M88SE6111           0x611111ab
+#define ATA_M88SE6121           0x612111ab
+#define ATA_M88SE6141           0x614111ab
+#define ATA_M88SE6145           0x614511ab
 #define ATA_MARVELL2_ID         0x1b4b
 
 #define ATA_MICRON_ID           0x1042


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list