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