scsi: libfc: Initialisation of RHBA and RPA attributes
authorJaved Hasan <jhasan@marvell.com>
Thu, 3 Jun 2021 12:16:19 +0000 (05:16 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 10 Jun 2021 04:03:32 +0000 (00:03 -0400)
Initialize RHBA and RPA attributes.

Link: https://lore.kernel.org/r/20210603121623.10084-2-jhasan@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Javed Hasan <jhasan@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libfc/fc_lport.c

index cf36c8c..f759548 100644 (file)
 #define FC_LOCAL_PTP_FID_LO   0x010101
 #define FC_LOCAL_PTP_FID_HI   0x010102
 
-#define        DNS_DELAY             3 /* Discovery delay after RSCN (in seconds)*/
+#define        DNS_DELAY               3 /* Discovery delay after RSCN (in seconds)*/
+#define        MAX_CT_PAYLOAD          2048
+#define        DISCOVERED_PORTS        4
+#define        NUMBER_OF_PORTS         1
 
 static void fc_lport_error(struct fc_lport *, struct fc_frame *);
 
@@ -1859,8 +1862,27 @@ int fc_lport_init(struct fc_lport *lport)
                fc_host_supported_speeds(lport->host) |= FC_PORTSPEED_1GBIT;
        if (lport->link_supported_speeds & FC_PORTSPEED_10GBIT)
                fc_host_supported_speeds(lport->host) |= FC_PORTSPEED_10GBIT;
+       if (lport->link_supported_speeds & FC_PORTSPEED_40GBIT)
+               fc_host_supported_speeds(lport->host) |= FC_PORTSPEED_40GBIT;
+       if (lport->link_supported_speeds & FC_PORTSPEED_100GBIT)
+               fc_host_supported_speeds(lport->host) |= FC_PORTSPEED_100GBIT;
+       if (lport->link_supported_speeds & FC_PORTSPEED_25GBIT)
+               fc_host_supported_speeds(lport->host) |= FC_PORTSPEED_25GBIT;
+       if (lport->link_supported_speeds & FC_PORTSPEED_50GBIT)
+               fc_host_supported_speeds(lport->host) |= FC_PORTSPEED_50GBIT;
+       if (lport->link_supported_speeds & FC_PORTSPEED_100GBIT)
+               fc_host_supported_speeds(lport->host) |= FC_PORTSPEED_100GBIT;
+
        fc_fc4_add_lport(lport);
 
+       fc_host_num_discovered_ports(lport->host) = DISCOVERED_PORTS;
+       fc_host_port_state(lport->host) = FC_PORTSTATE_ONLINE;
+       fc_host_max_ct_payload(lport->host) = MAX_CT_PAYLOAD;
+       fc_host_num_ports(lport->host) = NUMBER_OF_PORTS;
+       fc_host_bootbios_state(lport->host) = 0X00000000;
+       snprintf(fc_host_bootbios_version(lport->host),
+               FC_SYMBOLIC_NAME_SIZE, "%s", "Unknown");
+
        return 0;
 }
 EXPORT_SYMBOL(fc_lport_init);