diff mbox series

[v2,09/13] qla2xxx: Make tgt_port_database available in initiator mode

Message ID 20200902072548.11491-10-njavali@marvell.com (mailing list archive)
State Superseded
Headers show
Series qla2xxx misc features and bug fixes | expand

Commit Message

Nilesh Javali Sept. 2, 2020, 7:25 a.m. UTC
From: Arun Easi <aeasi@marvell.com>

tgt_port_database data is today exported only in target mode, allow it
to be shown in initiator mode, as well.

Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_dfs.c | 64 +++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 32 deletions(-)

Comments

Himanshu Madhani Sept. 2, 2020, 3:57 p.m. UTC | #1
> On Sep 2, 2020, at 2:25 AM, Nilesh Javali <njavali@marvell.com> wrote:
> 
> From: Arun Easi <aeasi@marvell.com>
> 
> tgt_port_database data is today exported only in target mode, allow it
> to be shown in initiator mode, as well.
> 
> Signed-off-by: Arun Easi <aeasi@marvell.com>
> Signed-off-by: Nilesh Javali <njavali@marvell.com>
> ---
> drivers/scsi/qla2xxx/qla_dfs.c | 64 +++++++++++++++++-----------------
> 1 file changed, 32 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_dfs.c b/drivers/scsi/qla2xxx/qla_dfs.c
> index 616ce891818d..1e9db568aee3 100644
> --- a/drivers/scsi/qla2xxx/qla_dfs.c
> +++ b/drivers/scsi/qla2xxx/qla_dfs.c
> @@ -138,51 +138,51 @@ qla2x00_dfs_tgt_port_database_show(struct seq_file *s, void *unused)
> {
> 	scsi_qla_host_t *vha = s->private;
> 	struct qla_hw_data *ha = vha->hw;
> -	struct gid_list_info *gid_list, *gid;
> +	struct gid_list_info *gid_list;
> 	dma_addr_t gid_list_dma;
> 	fc_port_t fc_port;
> +	char *id_iter;
> 	int rc, i;
> 	uint16_t entries, loop_id;
> -	struct qla_tgt *tgt = vha->vha_tgt.qla_tgt;
> 
> 	seq_printf(s, "%s\n", vha->host_str);
> -	if (tgt) {
> -		gid_list = dma_alloc_coherent(&ha->pdev->dev,
> -		    qla2x00_gid_list_size(ha),
> -		    &gid_list_dma, GFP_KERNEL);
> -		if (!gid_list) {
> -			ql_dbg(ql_dbg_user, vha, 0x7018,
> -			    "DMA allocation failed for %u\n",
> -			     qla2x00_gid_list_size(ha));
> -			return 0;
> -		}
> +	gid_list = dma_alloc_coherent(&ha->pdev->dev,
> +				      qla2x00_gid_list_size(ha),
> +				      &gid_list_dma, GFP_KERNEL);
> +	if (!gid_list) {
> +		ql_dbg(ql_dbg_user, vha, 0x7018,
> +		       "DMA allocation failed for %u\n",
> +		       qla2x00_gid_list_size(ha));
> +		return 0;
> +	}
> 
> -		rc = qla24xx_gidlist_wait(vha, gid_list, gid_list_dma,
> -		    &entries);
> -		if (rc != QLA_SUCCESS)
> -			goto out_free_id_list;
> +	rc = qla24xx_gidlist_wait(vha, gid_list, gid_list_dma,
> +				  &entries);
> +	if (rc != QLA_SUCCESS)
> +		goto out_free_id_list;
> 
> -		gid = gid_list;
> +	id_iter = (char *)gid_list;
> 
> -		seq_puts(s, "Port Name	Port ID 	Loop ID\n");
> +	seq_puts(s, "Port Name	Port ID		Loop ID\n");
> 
> -		for (i = 0; i < entries; i++) {
> -			loop_id = le16_to_cpu(gid->loop_id);
> -			memset(&fc_port, 0, sizeof(fc_port_t));
> +	for (i = 0; i < entries; i++) {
> +		struct gid_list_info *gid =
> +			(struct gid_list_info *)id_iter;
> +		loop_id = le16_to_cpu(gid->loop_id);
> +		memset(&fc_port, 0, sizeof(fc_port_t));
> 
> -			fc_port.loop_id = loop_id;
> +		fc_port.loop_id = loop_id;
> 
> -			rc = qla24xx_gpdb_wait(vha, &fc_port, 0);
> -			seq_printf(s, "%8phC  %02x%02x%02x  %d\n",
> -				fc_port.port_name, fc_port.d_id.b.domain,
> -				fc_port.d_id.b.area, fc_port.d_id.b.al_pa,
> -				fc_port.loop_id);
> -			gid = (void *)gid + ha->gid_list_info_size;
> -		}
> -out_free_id_list:
> -		dma_free_coherent(&ha->pdev->dev, qla2x00_gid_list_size(ha),
> -		    gid_list, gid_list_dma);
> +		rc = qla24xx_gpdb_wait(vha, &fc_port, 0);
> +		seq_printf(s, "%8phC  %02x%02x%02x  %d\n",
> +			   fc_port.port_name, fc_port.d_id.b.domain,
> +			   fc_port.d_id.b.area, fc_port.d_id.b.al_pa,
> +			   fc_port.loop_id);
> +		id_iter += ha->gid_list_info_size;
> 	}
> +out_free_id_list:
> +	dma_free_coherent(&ha->pdev->dev, qla2x00_gid_list_size(ha),
> +			  gid_list, gid_list_dma);
> 
> 	return 0;
> }
> -- 
> 2.19.0.rc0
> 

Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>

--
Himanshu Madhani	 Oracle Linux Engineering
diff mbox series

Patch

diff --git a/drivers/scsi/qla2xxx/qla_dfs.c b/drivers/scsi/qla2xxx/qla_dfs.c
index 616ce891818d..1e9db568aee3 100644
--- a/drivers/scsi/qla2xxx/qla_dfs.c
+++ b/drivers/scsi/qla2xxx/qla_dfs.c
@@ -138,51 +138,51 @@  qla2x00_dfs_tgt_port_database_show(struct seq_file *s, void *unused)
 {
 	scsi_qla_host_t *vha = s->private;
 	struct qla_hw_data *ha = vha->hw;
-	struct gid_list_info *gid_list, *gid;
+	struct gid_list_info *gid_list;
 	dma_addr_t gid_list_dma;
 	fc_port_t fc_port;
+	char *id_iter;
 	int rc, i;
 	uint16_t entries, loop_id;
-	struct qla_tgt *tgt = vha->vha_tgt.qla_tgt;
 
 	seq_printf(s, "%s\n", vha->host_str);
-	if (tgt) {
-		gid_list = dma_alloc_coherent(&ha->pdev->dev,
-		    qla2x00_gid_list_size(ha),
-		    &gid_list_dma, GFP_KERNEL);
-		if (!gid_list) {
-			ql_dbg(ql_dbg_user, vha, 0x7018,
-			    "DMA allocation failed for %u\n",
-			     qla2x00_gid_list_size(ha));
-			return 0;
-		}
+	gid_list = dma_alloc_coherent(&ha->pdev->dev,
+				      qla2x00_gid_list_size(ha),
+				      &gid_list_dma, GFP_KERNEL);
+	if (!gid_list) {
+		ql_dbg(ql_dbg_user, vha, 0x7018,
+		       "DMA allocation failed for %u\n",
+		       qla2x00_gid_list_size(ha));
+		return 0;
+	}
 
-		rc = qla24xx_gidlist_wait(vha, gid_list, gid_list_dma,
-		    &entries);
-		if (rc != QLA_SUCCESS)
-			goto out_free_id_list;
+	rc = qla24xx_gidlist_wait(vha, gid_list, gid_list_dma,
+				  &entries);
+	if (rc != QLA_SUCCESS)
+		goto out_free_id_list;
 
-		gid = gid_list;
+	id_iter = (char *)gid_list;
 
-		seq_puts(s, "Port Name	Port ID 	Loop ID\n");
+	seq_puts(s, "Port Name	Port ID		Loop ID\n");
 
-		for (i = 0; i < entries; i++) {
-			loop_id = le16_to_cpu(gid->loop_id);
-			memset(&fc_port, 0, sizeof(fc_port_t));
+	for (i = 0; i < entries; i++) {
+		struct gid_list_info *gid =
+			(struct gid_list_info *)id_iter;
+		loop_id = le16_to_cpu(gid->loop_id);
+		memset(&fc_port, 0, sizeof(fc_port_t));
 
-			fc_port.loop_id = loop_id;
+		fc_port.loop_id = loop_id;
 
-			rc = qla24xx_gpdb_wait(vha, &fc_port, 0);
-			seq_printf(s, "%8phC  %02x%02x%02x  %d\n",
-				fc_port.port_name, fc_port.d_id.b.domain,
-				fc_port.d_id.b.area, fc_port.d_id.b.al_pa,
-				fc_port.loop_id);
-			gid = (void *)gid + ha->gid_list_info_size;
-		}
-out_free_id_list:
-		dma_free_coherent(&ha->pdev->dev, qla2x00_gid_list_size(ha),
-		    gid_list, gid_list_dma);
+		rc = qla24xx_gpdb_wait(vha, &fc_port, 0);
+		seq_printf(s, "%8phC  %02x%02x%02x  %d\n",
+			   fc_port.port_name, fc_port.d_id.b.domain,
+			   fc_port.d_id.b.area, fc_port.d_id.b.al_pa,
+			   fc_port.loop_id);
+		id_iter += ha->gid_list_info_size;
 	}
+out_free_id_list:
+	dma_free_coherent(&ha->pdev->dev, qla2x00_gid_list_size(ha),
+			  gid_list, gid_list_dma);
 
 	return 0;
 }