In single-doorbell (SDB) mode there is only a single request queue. Hence,
it doesn't matter whether or not the SCSI host tagset is configured as
host-wide. Configure the host tagset as host-wide in SDB mode because this
enables a simplification of the hot path.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Link: https://patch.msgid.link/20260116180800.3085233-1-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
int ufshcd_mcq_init(struct ufs_hba *hba)
{
- struct Scsi_Host *host = hba->host;
struct ufs_hw_queue *hwq;
int ret, i;
mutex_init(&hwq->sq_mutex);
}
- host->host_tagset = 1;
return 0;
}
*/
static inline struct scsi_cmnd *ufshcd_tag_to_cmd(struct ufs_hba *hba, u32 tag)
{
- /*
- * Host-wide tags are enabled in MCQ mode only. See also the
- * host->host_tagset assignment in ufs-mcq.c.
- */
- struct blk_mq_tags *tags = hba->host->tag_set.shared_tags ?:
- hba->host->tag_set.tags[0];
+ struct blk_mq_tags *tags = hba->host->tag_set.shared_tags;
struct request *rq = blk_mq_tag_to_rq(tags, tag);
if (WARN_ON_ONCE(!rq))
.max_segment_size = PRDT_DATA_BYTE_COUNT_MAX,
.max_sectors = SZ_1M / SECTOR_SIZE,
.max_host_blocked = 1,
+ .host_tagset = true,
.track_queue_depth = 1,
.skip_settle_delay = 1,
.sdev_groups = ufshcd_driver_groups,