]> git.baikalelectronics.ru Git - kernel.git/commitdiff
scsi: pm80xx: Correct inbound and outbound queue logging
authorViswas G <Viswas.G@microchip.com>
Mon, 6 Sep 2021 17:04:03 +0000 (22:34 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 15 Sep 2021 02:29:11 +0000 (22:29 -0400)
Correct inbound queue and outbound queue size in 'ib_log' and 'ob_log'
sysfs entries.

Link: https://lore.kernel.org/r/20210906170404.5682-4-Ajish.Koshy@microchip.com
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Viswas G <Viswas.G@microchip.com>
Signed-off-by: Ajish Koshy <Ajish.Koshy@microchip.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/pm8001/pm8001_ctl.c

index ec05c42e8ee6c3f6912d56e41cbbde64a6cc5c29..b25e447aa3bd8876809ac4c04dd66ea7a13e8e12 100644 (file)
@@ -409,6 +409,7 @@ static ssize_t pm8001_ctl_ib_queue_log_show(struct device *cdev,
        char *str = buf;
        int start = 0;
        u32 ib_offset = pm8001_ha->ib_offset;
+       u32 queue_size = pm8001_ha->max_q_num * PM8001_MPI_QUEUE * 128;
 #define IB_MEMMAP(c)   \
                (*(u32 *)((u8 *)pm8001_ha->     \
                memoryMap.region[ib_offset].virt_ptr +  \
@@ -419,7 +420,7 @@ static ssize_t pm8001_ctl_ib_queue_log_show(struct device *cdev,
                start = start + 4;
        }
        pm8001_ha->evtlog_ib_offset += SYSFS_OFFSET;
-       if (((pm8001_ha->evtlog_ib_offset) % (PM80XX_IB_OB_QUEUE_SIZE)) == 0)
+       if (((pm8001_ha->evtlog_ib_offset) % queue_size) == 0)
                pm8001_ha->evtlog_ib_offset = 0;
 
        return str - buf;
@@ -445,6 +446,7 @@ static ssize_t pm8001_ctl_ob_queue_log_show(struct device *cdev,
        char *str = buf;
        int start = 0;
        u32 ob_offset = pm8001_ha->ob_offset;
+       u32 queue_size = pm8001_ha->max_q_num * PM8001_MPI_QUEUE * 128;
 #define OB_MEMMAP(c)   \
                (*(u32 *)((u8 *)pm8001_ha->     \
                memoryMap.region[ob_offset].virt_ptr +  \
@@ -455,7 +457,7 @@ static ssize_t pm8001_ctl_ob_queue_log_show(struct device *cdev,
                start = start + 4;
        }
        pm8001_ha->evtlog_ob_offset += SYSFS_OFFSET;
-       if (((pm8001_ha->evtlog_ob_offset) % (PM80XX_IB_OB_QUEUE_SIZE)) == 0)
+       if (((pm8001_ha->evtlog_ob_offset) % queue_size) == 0)
                pm8001_ha->evtlog_ob_offset = 0;
 
        return str - buf;