new subsytem id for mvsas
Hi debian-kernel,
I have a new pci-e sata controller that uses a Marvell chipset. It's a
Supermicro brand, model is "AOC-SAS2LP-MV8". Here is the product page
http://www.supermicro.com/products/accessories/addon/AOC-SAS2LP-MV8.cfm
When I boot the 3.10 kernel in sid, it fails to find the adapter (even if I
load mvsas manually). Here is the lscpi info
01:00.0 RAID bus controller [0104]: Marvell Technology Group Ltd. Device
[1b4b:9485] (rev 03)
Subsystem: Marvell Technology Group Ltd. Device [1b4b:9485]
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f7240000 (64-bit, non-prefetchable) [size=128K]
Memory at f7200000 (64-bit, non-prefetchable) [size=256K]
Expansion ROM at f7260000 [disabled] [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
I asked on IRC and Ben H. mentioned that the driver does not currently
claim that subsystem id. He suggested a patch (which I've attached) to add
a section to mv_init.c to make it claim that device.
I built a kernel using the source package from sid and the patch and booted
it and it finds the adapter and sees the disks. I ran badblocks on 4 SSDs
on the controller at once and things worked as expected and they all
completed normally.
The above product page also has a link to a driver page that has a zip file
for Linux available. If you download that it contains disk images to be
used with installers for centos/rhel/fedora/opensuse/sled/sles. I looked in
one of the fedora ones and it looks like it's a vendor supplied 'mv94xx.ko'
driver, but it also lists some pci id's as hints for the installer, maybe
that is useful as maybe more id's could be enabled than just the one I
tested above? (or strings(1) on the driver might be interesting as well)
Please consider adding this patch.
Thanks,
--
Matt Taggart
taggart@debian.org
diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c
index 7b7381d..83fa5f8 100644
--- a/drivers/scsi/mvsas/mv_init.c
+++ b/drivers/scsi/mvsas/mv_init.c
@@ -729,6 +729,15 @@ static struct pci_device_id mvs_pci_table[] = {
.class_mask = 0,
.driver_data = chip_9485,
},
+ {
+ .vendor = PCI_VENDOR_ID_MARVELL_EXT,
+ .device = 0x9485,
+ .subvendor = PCI_ANY_ID,
+ .subdevice = 0x9485,
+ .class = 0,
+ .class_mask = 0,
+ .driver_data = chip_9485,
+ },
{ PCI_VDEVICE(OCZ, 0x1021), chip_9485}, /* OCZ RevoDrive3 */
{ PCI_VDEVICE(OCZ, 0x1022), chip_9485}, /* OCZ RevoDrive3/zDriveR4 (exact model unknown) */
{ PCI_VDEVICE(OCZ, 0x1040), chip_9485}, /* OCZ RevoDrive3/zDriveR4 (exact model unknown) */
Reply to: