Blob Blame History Raw
From: Jens Remus <jremus@linux.ibm.com>
Subject: scsi: zfcp: add port speed capabilities
Patch-mainline: v4.18-rc1
Git-commit: 6e2e490080c8a7bb2062705f4c78205dbf4b67e9
References: FATE#326374, LTC#169130, bsc#1113509

Summary:     zfcp: add port speed capabilities
Description: Add port speed capabilities as defined in FC-LS RPSC ELS that have
             a counterpart FC_PORTSPEED_* defined in scsi/scsi_transport_fc.h.

Upstream-Description:

             scsi: zfcp: add port speed capabilities

             Add port speed capabilities as defined in FC-LS RPSC ELS that have a
             counterpart FC_PORTSPEED_* defined in scsi/scsi_transport_fc.h.

             Suggested-by: Steffen Maier <maier@linux.ibm.com>
             Signed-off-by: Jens Remus <jremus@linux.ibm.com>
             Reviewed-by: Steffen Maier <maier@linux.ibm.com>
             Reviewed-by: Fedor Loshakov <loshakov@linux.ibm.com>
             Acked-by: Hendrik Brueckner <brueckner@linux.ibm.com>
             Acked-by: Benjamin Block <bblock@linux.ibm.com>
             Signed-off-by: Steffen Maier <maier@linux.ibm.com>
             Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 drivers/s390/scsi/zfcp_fsf.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

--- a/drivers/s390/scsi/zfcp_fsf.c
+++ b/drivers/s390/scsi/zfcp_fsf.c
@@ -3,7 +3,7 @@
  *
  * Implementation of FSF commands.
  *
- * Copyright IBM Corp. 2002, 2015
+ * Copyright IBM Corp. 2002, 2018
  */
 
 #define KMSG_COMPONENT "zfcp"
@@ -438,6 +438,9 @@ void zfcp_fsf_req_dismiss_all(struct zfc
 #define ZFCP_FSF_PORTSPEED_10GBIT	(1 <<  3)
 #define ZFCP_FSF_PORTSPEED_8GBIT	(1 <<  4)
 #define ZFCP_FSF_PORTSPEED_16GBIT	(1 <<  5)
+#define ZFCP_FSF_PORTSPEED_32GBIT	(1 <<  6)
+#define ZFCP_FSF_PORTSPEED_64GBIT	(1 <<  7)
+#define ZFCP_FSF_PORTSPEED_128GBIT	(1 <<  8)
 #define ZFCP_FSF_PORTSPEED_NOT_NEGOTIATED (1 << 15)
 
 static u32 zfcp_fsf_convert_portspeed(u32 fsf_speed)
@@ -455,6 +458,12 @@ static u32 zfcp_fsf_convert_portspeed(u3
 		fdmi_speed |= FC_PORTSPEED_8GBIT;
 	if (fsf_speed & ZFCP_FSF_PORTSPEED_16GBIT)
 		fdmi_speed |= FC_PORTSPEED_16GBIT;
+	if (fsf_speed & ZFCP_FSF_PORTSPEED_32GBIT)
+		fdmi_speed |= FC_PORTSPEED_32GBIT;
+	if (fsf_speed & ZFCP_FSF_PORTSPEED_64GBIT)
+		fdmi_speed |= FC_PORTSPEED_64GBIT;
+	if (fsf_speed & ZFCP_FSF_PORTSPEED_128GBIT)
+		fdmi_speed |= FC_PORTSPEED_128GBIT;
 	if (fsf_speed & ZFCP_FSF_PORTSPEED_NOT_NEGOTIATED)
 		fdmi_speed |= FC_PORTSPEED_NOT_NEGOTIATED;
 	return fdmi_speed;