[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: