svn commit: r342531 - head/sys/dev/mpr

Kashyap D Desai kadesai at FreeBSD.org
Wed Dec 26 10:41:15 UTC 2018


Author: kadesai
Date: Wed Dec 26 10:41:14 2018
New Revision: 342531
URL: https://svnweb.freebsd.org/changeset/base/342531

Log:
  Add Sea,Aero adapter support
  
  Added deviceID's for Sea,Aero to mpr Driver
  Aero:
          0x00E0 Invalid
          0x00E1 Configurable Secure
          0x00E2 Hard Secure
          0x00E3 Tampered
  Sea:
          0x00E4 Invalid
          0x00E5 Configurable Secure
          0x00E6 Hard Secure
          0x00E7 Tampered
  
  For Tampered & Invalid type cards, driver will claim the device & quit the probe function with below error message,
  "HBA is in Non Secure mode"
  
  for Configurable Secure type cards, driver will display below message in .probe() callback function,
  "HBA is in Configurable Secure mode"
  
  Submitted by: Sreekanth Reddy <sreekanth.reddy at broadcom.com>
  Reviewed by:  Kashyap Desai <Kashyap.Desai at broadcom.com>
  Approved by:  ken
  MFC after:  3 days
  Sponsored by:   Broadcom Inc

Modified:
  head/sys/dev/mpr/mpr_pci.c
  head/sys/dev/mpr/mprvar.h

Modified: head/sys/dev/mpr/mpr_pci.c
==============================================================================
--- head/sys/dev/mpr/mpr_pci.c	Wed Dec 26 10:40:27 2018	(r342530)
+++ head/sys/dev/mpr/mpr_pci.c	Wed Dec 26 10:41:14 2018	(r342531)
@@ -148,6 +148,30 @@ struct mpr_ident {
 	{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3716,
 	    0xffff, 0xffff, MPR_FLAGS_GEN35_IOC,
 	    "Avago Technologies (LSI) SAS3716" },
+	{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_INVALID0_SAS3816,
+	    0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
+	    "Broadcom Inc. (LSI) INVALID0 SAS3816" },
+	{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_CFG_SEC_SAS3816,
+	    0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
+	    "Broadcom Inc. (LSI) CFG SEC SAS3816" },
+	{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_HARD_SEC_SAS3816,
+	    0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
+	    "Broadcom Inc. (LSI) HARD SEC SAS3816" },
+	{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_INVALID1_SAS3816,
+	    0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
+	    "Broadcom Inc. (LSI) INVALID1 SAS3816" },
+	{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_INVALID0_SAS3916,
+	    0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
+	    "Broadcom Inc. (LSI) INVALID0 SAS3916" },
+	{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_CFG_SEC_SAS3916,
+	    0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
+	    "Broadcom Inc. (LSI) CFG SEC SAS3916" },
+	{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_HARD_SEC_SAS3916,
+	    0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
+	    "Broadcom Inc. (LSI) HARD SEC SAS3916" },
+	{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_INVALID1_SAS3916,
+	    0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
+	    "Broadcom Inc. (LSI) INVALID1 SAS3916" },
 	{ 0, 0, 0, 0, 0, NULL }
 };
 
@@ -205,6 +229,21 @@ mpr_pci_attach(device_t dev)
 	sc->mpr_dev = dev;
 	m = mpr_find_ident(dev);
 	sc->mpr_flags = m->flags;
+
+	switch (m->device) {
+	case MPI26_MFGPAGE_DEVID_INVALID0_SAS3816:
+	case MPI26_MFGPAGE_DEVID_INVALID1_SAS3816:
+	case MPI26_MFGPAGE_DEVID_INVALID0_SAS3916:
+	case MPI26_MFGPAGE_DEVID_INVALID1_SAS3916:
+		mpr_printf(sc, "HBA is in Non Secure mode\n");
+		return (ENXIO);
+	case MPI26_MFGPAGE_DEVID_CFG_SEC_SAS3816:
+	case MPI26_MFGPAGE_DEVID_CFG_SEC_SAS3916:
+		mpr_printf(sc, "HBA is in Configurable Secure mode\n");
+		break;
+	default:
+		break;
+	}
 
 	mpr_get_tunables(sc);
 

Modified: head/sys/dev/mpr/mprvar.h
==============================================================================
--- head/sys/dev/mpr/mprvar.h	Wed Dec 26 10:40:27 2018	(r342530)
+++ head/sys/dev/mpr/mprvar.h	Wed Dec 26 10:41:14 2018	(r342531)
@@ -341,6 +341,7 @@ struct mpr_softc {
 #define	MPR_FLAGS_ATTACH_DONE	(1 << 5)
 #define	MPR_FLAGS_GEN35_IOC	(1 << 6)
 #define	MPR_FLAGS_REALLOCATED	(1 << 7)
+#define	MPR_FLAGS_SEA_IOC	(1 << 8)
 	u_int				mpr_debug;
 	int				msi_msgs;
 	u_int				reqframesz;


More information about the svn-src-all mailing list