Add debug prints related to device list being returned by firmware.
The a debug flag to activate these prints.

Signed-off-by: Sumit Saxena <sumit.sax...@broadcom.com>
Signed-off-by: Shivasharan S <shivasharan.srikanteshw...@broadcom.com>
---
 drivers/scsi/megaraid/megaraid_sas.h      |  1 +
 drivers/scsi/megaraid/megaraid_sas_base.c | 35 +++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/drivers/scsi/megaraid/megaraid_sas.h 
b/drivers/scsi/megaraid/megaraid_sas.h
index 8df6ef01785e..840506f2f33c 100644
--- a/drivers/scsi/megaraid/megaraid_sas.h
+++ b/drivers/scsi/megaraid/megaraid_sas.h
@@ -1499,6 +1499,7 @@ struct megasas_ctrl_info {
 /* Driver's internal Logging levels*/
 #define OCR_DEBUG    (1 << 0)
 #define TM_DEBUG     (1 << 1)
+#define LD_PD_DEBUG    (1 << 2)
 
 #define SCAN_PD_CHANNEL        0x1
 #define SCAN_VD_CHANNEL        0x2
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c 
b/drivers/scsi/megaraid/megaraid_sas_base.c
index b1aedfb0963e..29fe77a8d2a6 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -4512,6 +4512,9 @@ megasas_get_pd_list(struct megasas_instance *instance)
 
        case DCMD_SUCCESS:
                pd_addr = ci->addr;
+               if (megasas_dbg_lvl & LD_PD_DEBUG)
+                       dev_info(&instance->pdev->dev, "%s, sysPD count: 
0x%x\n",
+                                __func__, le32_to_cpu(ci->count));
 
                if ((le32_to_cpu(ci->count) >
                        (MEGASAS_MAX_PD_CHANNELS * 
MEGASAS_MAX_DEV_PER_CHANNEL)))
@@ -4527,6 +4530,11 @@ megasas_get_pd_list(struct megasas_instance *instance)
                                        pd_addr->scsiDevType;
                        
instance->local_pd_list[le16_to_cpu(pd_addr->deviceId)].driveState      =
                                        MR_PD_STATE_SYSTEM;
+                       if (megasas_dbg_lvl & LD_PD_DEBUG)
+                               dev_info(&instance->pdev->dev,
+                                        "PD%d: targetID: 0x%03x 
deviceType:0x%x\n",
+                                        pd_index, 
le16_to_cpu(pd_addr->deviceId),
+                                        pd_addr->scsiDevType);
                        pd_addr++;
                }
 
@@ -4630,6 +4638,10 @@ megasas_get_ld_list(struct megasas_instance *instance)
                break;
 
        case DCMD_SUCCESS:
+               if (megasas_dbg_lvl & LD_PD_DEBUG)
+                       dev_info(&instance->pdev->dev, "%s, LD count: 0x%x\n",
+                                __func__, ld_count);
+
                if (ld_count > instance->fw_supported_vd_count)
                        break;
 
@@ -4639,6 +4651,10 @@ megasas_get_ld_list(struct megasas_instance *instance)
                        if (ci->ldList[ld_index].state != 0) {
                                ids = ci->ldList[ld_index].ref.targetId;
                                instance->ld_ids[ids] = 
ci->ldList[ld_index].ref.targetId;
+                               if (megasas_dbg_lvl & LD_PD_DEBUG)
+                                       dev_info(&instance->pdev->dev,
+                                                "LD%d: targetID: 0x%03x\n",
+                                                ld_index, ids);
                        }
                }
 
@@ -4742,6 +4758,10 @@ megasas_ld_list_query(struct megasas_instance *instance, 
u8 query_type)
        case DCMD_SUCCESS:
                tgtid_count = le32_to_cpu(ci->count);
 
+               if (megasas_dbg_lvl & LD_PD_DEBUG)
+                       dev_info(&instance->pdev->dev, "%s, LD count: 0x%x\n",
+                                __func__, tgtid_count);
+
                if ((tgtid_count > (instance->fw_supported_vd_count)))
                        break;
 
@@ -4749,6 +4769,9 @@ megasas_ld_list_query(struct megasas_instance *instance, 
u8 query_type)
                for (ld_index = 0; ld_index < tgtid_count; ld_index++) {
                        ids = ci->targetId[ld_index];
                        instance->ld_ids[ids] = ci->targetId[ld_index];
+                       if (megasas_dbg_lvl & LD_PD_DEBUG)
+                               dev_info(&instance->pdev->dev, "LD%d: targetID: 
0x%03x\n",
+                                        ld_index, ci->targetId[ld_index]);
                }
 
                break;
@@ -4828,6 +4851,10 @@ megasas_host_device_list_query(struct megasas_instance 
*instance,
                 */
                count = le32_to_cpu(ci->count);
 
+               if (megasas_dbg_lvl & LD_PD_DEBUG)
+                       dev_info(&instance->pdev->dev, "%s, Device count: 
0x%x\n",
+                                __func__, count);
+
                memset(instance->local_pd_list, 0,
                       MEGASAS_MAX_PD * sizeof(struct megasas_pd_list));
                memset(instance->ld_ids, 0xff, MAX_LOGICAL_DRIVES_EXT);
@@ -4839,8 +4866,16 @@ megasas_host_device_list_query(struct megasas_instance 
*instance,
                                                
ci->host_device_list[i].scsi_type;
                                instance->local_pd_list[target_id].driveState =
                                                MR_PD_STATE_SYSTEM;
+                               if (megasas_dbg_lvl & LD_PD_DEBUG)
+                                       dev_info(&instance->pdev->dev,
+                                                "Device %d: PD targetID: 
0x%03x deviceType:0x%x\n",
+                                                i, target_id, 
ci->host_device_list[i].scsi_type);
                        } else {
                                instance->ld_ids[target_id] = target_id;
+                               if (megasas_dbg_lvl & LD_PD_DEBUG)
+                                       dev_info(&instance->pdev->dev,
+                                                "Device %d: LD targetID: 
0x%03x\n",
+                                                i, target_id);
                        }
                }
 
-- 
2.16.1

Reply via email to