scsi: hisi_sas: Don't check .nr_hw_queues in hisi_sas_task_prep()
authorJohn Garry <john.garry@huawei.com>
Tue, 26 Jan 2021 11:04:25 +0000 (19:04 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 27 Jan 2021 04:02:11 +0000 (23:02 -0500)
Now that v2 and v3 hw expose their HW queues (and so shost.nr_hw_queues is
set), remove the conditional checks in hisi_sas_task_prep().

This change would affect v1 HW performance (as it does not expose HW
queues), but nobody uses it and support may be dropped soon.

Link: https://lore.kernel.org/r/1611659068-131975-3-git-send-email-john.garry@huawei.com
Reviewed-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c

index 625327e..d469ffd 100644 (file)
@@ -445,21 +445,19 @@ static int hisi_sas_task_prep(struct sas_task *task,
                }
        }
 
-       if (scmd && hisi_hba->shost->nr_hw_queues) {
+       if (scmd) {
                unsigned int dq_index;
                u32 blk_tag;
 
                blk_tag = blk_mq_unique_tag(scmd->request);
                dq_index = blk_mq_unique_tag_to_hwq(blk_tag);
                *dq_pointer = dq = &hisi_hba->dq[dq_index];
-       } else if (hisi_hba->shost->nr_hw_queues)  {
+       } else {
                struct Scsi_Host *shost = hisi_hba->shost;
                struct blk_mq_queue_map *qmap = &shost->tag_set.map[HCTX_TYPE_DEFAULT];
                int queue = qmap->mq_map[raw_smp_processor_id()];
 
                *dq_pointer = dq = &hisi_hba->dq[queue];
-       } else {
-               *dq_pointer = dq = sas_dev->dq;
        }
 
        port = to_hisi_sas_port(sas_port);