Project

General

Profile

Bug #5909

ahci.c does not list Marvell 88SS9183 flash memory controller

Added by Ron Herardian about 6 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Nice to have
Assignee:
Alexander Motin
Category:
-
Target version:
Severity:
New
Reason for Closing:
Reason for Blocked:
Needs QA:
Yes
Needs Doc:
Yes
Needs Merging:
Yes
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

Technically not a FreeNAS problem but the ahci driver built into the FreeNAS kernel does not recognize the Marvell 88SS9183 flash memory controller.

This is documented here:

http://lists.freebsd.org/pipermail/freebsd-current/2013-August/044048.html

Need to add to ahci.c:

{0x91831b4b, 0x00, "Marvell 88SS9183", AHCI_Q_NOBSYRES},

Here's the source:

http://fxr.watson.org/fxr/source/dev/ahci/ahci.c?v=FREEBSD10

mv9.patch (4.44 KB) mv9.patch Ron Herardian, 09/09/2014 03:33 PM

Associated revisions

Revision 32eb5fd4 (diff)
Added by Alexander Motin about 6 years ago

Invert AHCI_Q_NOBSYRES quirk meaning, waiting for readiness by default. I gave up to update list of Marvell chips that require this quirk. The final nail was growing number of PCIe/M.2 SSDs where Marvell chips have PCI IDs of different vendors. Ticket: #5909 (cherry picked from commit 2d35361d6e3c70661d2e3016e9974c83b89a6b67)

Revision 32eb5fd4 (diff)
Added by Alexander Motin about 6 years ago

Invert AHCI_Q_NOBSYRES quirk meaning, waiting for readiness by default. I gave up to update list of Marvell chips that require this quirk. The final nail was growing number of PCIe/M.2 SSDs where Marvell chips have PCI IDs of different vendors. Ticket: #5909 (cherry picked from commit 2d35361d6e3c70661d2e3016e9974c83b89a6b67)

Revision 050927e8 (diff)
Added by Alexander Motin about 6 years ago

Fix typo in comments. Submitted by: Benedict Reuschling <bcr@FreeBSD.org> MFC after: 6 days Ticket: #5909 (cherry picked from commit 1091f6dff6c692ae8f8b224db3057a6c1b3619a8) (cherry picked from commit 94b46f60e7809a861269a0630a1da582adc40783)

Revision 050927e8 (diff)
Added by Alexander Motin about 6 years ago

Fix typo in comments. Submitted by: Benedict Reuschling <bcr@FreeBSD.org> MFC after: 6 days Ticket: #5909 (cherry picked from commit 1091f6dff6c692ae8f8b224db3057a6c1b3619a8) (cherry picked from commit 94b46f60e7809a861269a0630a1da582adc40783)

History

#1 Updated by Jordan Hubbard about 6 years ago

  • Category set to 18
  • Assignee set to Josh Paetzel
  • Target version set to 9.2.1.8-RELEASE

#2 Updated by Josh Paetzel about 6 years ago

  • Status changed from Unscreened to Fix In Progress

#3 Updated by Josh Paetzel about 6 years ago

  • Status changed from Fix In Progress to Resolved
  • Seen in changed from 9.2.0-RELEASE to

This got picked up when Xin rebased trueos.

#4 Updated by Ron Herardian about 6 years ago

The originally suggested fix (listing the additional controller in ahci.c) did not work because the Marvell 88SS9183 controller does not identify itself correctly.

I consulted the author of ahci.c, Alexander Motin. He found that the controller reports back specific SSD module IDs. The module tested reported as Plextor/LITE-ON PCI chip ID: ahci0@pci0:5:0:0: class=0x010601 card=0x91831b4b chip=0x01221c28 rev=0x14 hdr=0x00. The controller ID is being reported as the card ID.

This Marvell 88SS9183 controller is used in several different sized M.2 PCIe SSD modules and also by more than one manufacturer (not just Plextor but also by Memoright and others).

Alexander has fixed the code so that it no longer relies on Marvell chip IDs. The fix is to wait for a soft reset to complete.

The patch was committed by Alexander to FreeBSD head branch: http://svnweb.freebsd.org/changeset/base/271163 and has been tested in FreeBSD 9.2-RELEASE-p10 (kernel recompile with patched ahci.c) and in FreeNAS 9.2.1.7-RELEASE (normal build of FreeNAS 9.2.1.7-RELEASE).

Alexander also provided a patch for FreeBSD / FreeNAS 9.2.x, which is attached.

#5 Updated by Alexander Motin about 6 years ago

  • Status changed from Resolved to Fix In Progress
  • Assignee changed from Josh Paetzel to Alexander Motin
  • Seen in changed from to 9.2.1.7-RELEASE

I'll take it to merge the new fix.

#6 Updated by Alexander Motin about 6 years ago

  • Status changed from Fix In Progress to Resolved

Patch merged to 9.2.1-BRANCH at 32eb5fd4b9eebbda0177e05faaa6830644cc2ffc

#7 Updated by Jordan Hubbard almost 6 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF