Commit 69bfa5fd authored by John Garry's avatar John Garry Committed by Martin K. Petersen
Browse files

scsi: hisi_sas: Don't check .nr_hw_queues in hisi_sas_task_prep()

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: default avatarXiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 4d287d8b
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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);