Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Mar 2017 06:41:59 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r315814 - stable/11/sys/dev/mpt
Message-ID:  <201703230641.v2N6fx6I056483@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Thu Mar 23 06:41:58 2017
New Revision: 315814
URL: https://svnweb.freebsd.org/changeset/base/315814

Log:
  MFC r314966: Report FC link speed.

Modified:
  stable/11/sys/dev/mpt/mpt_cam.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/mpt/mpt_cam.c
==============================================================================
--- stable/11/sys/dev/mpt/mpt_cam.c	Thu Mar 23 06:41:13 2017	(r315813)
+++ stable/11/sys/dev/mpt/mpt_cam.c	Thu Mar 23 06:41:58 2017	(r315814)
@@ -433,7 +433,23 @@ mpt_read_config_info_fc(struct mpt_softc
 	}
 	mpt2host_config_page_fc_port_0(&mpt->mpt_fcport_page0);
 
-	mpt->mpt_fcport_speed = mpt->mpt_fcport_page0.CurrentSpeed;
+	switch (mpt->mpt_fcport_page0.CurrentSpeed) {
+	case MPI_FCPORTPAGE0_CURRENT_SPEED_1GBIT:
+		mpt->mpt_fcport_speed = 1;
+		break;
+	case MPI_FCPORTPAGE0_CURRENT_SPEED_2GBIT:
+		mpt->mpt_fcport_speed = 2;
+		break;
+	case MPI_FCPORTPAGE0_CURRENT_SPEED_10GBIT:
+		mpt->mpt_fcport_speed = 10;
+		break;
+	case MPI_FCPORTPAGE0_CURRENT_SPEED_4GBIT:
+		mpt->mpt_fcport_speed = 4;
+		break;
+	default:
+		mpt->mpt_fcport_speed = 0;
+		break;
+	}
 
 	switch (mpt->mpt_fcport_page0.Flags &
 	    MPI_FCPORTPAGE0_FLAGS_ATTACH_TYPE_MASK) {
@@ -3465,8 +3481,10 @@ mpt_action(struct cam_sim *sim, union cc
 			cts->protocol_version = SCSI_REV_SPC;
 			cts->transport = XPORT_FC;
 			cts->transport_version = 0;
-			fc->valid = CTS_FC_VALID_SPEED;
-			fc->bitrate = 100000;
+			if (mpt->mpt_fcport_speed != 0) {
+				fc->valid = CTS_FC_VALID_SPEED;
+				fc->bitrate = 100000 * mpt->mpt_fcport_speed;
+			}
 		} else if (mpt->is_sas) {
 			struct ccb_trans_settings_sas *sas =
 			    &cts->xport_specific.sas;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703230641.v2N6fx6I056483>