Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

scsi: ufs: core: Use a host-wide tagset in SDB mode

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>

authored by

Bart Van Assche and committed by
Martin K. Petersen
4d0538dd a48ca06c

+2 -8
-2
drivers/ufs/core/ufs-mcq.c
··· 444 444 445 445 int ufshcd_mcq_init(struct ufs_hba *hba) 446 446 { 447 - struct Scsi_Host *host = hba->host; 448 447 struct ufs_hw_queue *hwq; 449 448 int ret, i; 450 449 ··· 477 478 mutex_init(&hwq->sq_mutex); 478 479 } 479 480 480 - host->host_tagset = 1; 481 481 return 0; 482 482 } 483 483
+1 -6
drivers/ufs/core/ufshcd-priv.h
··· 374 374 */ 375 375 static inline struct scsi_cmnd *ufshcd_tag_to_cmd(struct ufs_hba *hba, u32 tag) 376 376 { 377 - /* 378 - * Host-wide tags are enabled in MCQ mode only. See also the 379 - * host->host_tagset assignment in ufs-mcq.c. 380 - */ 381 - struct blk_mq_tags *tags = hba->host->tag_set.shared_tags ?: 382 - hba->host->tag_set.tags[0]; 377 + struct blk_mq_tags *tags = hba->host->tag_set.shared_tags; 383 378 struct request *rq = blk_mq_tag_to_rq(tags, tag); 384 379 385 380 if (WARN_ON_ONCE(!rq))
+1
drivers/ufs/core/ufshcd.c
··· 9321 9321 .max_segment_size = PRDT_DATA_BYTE_COUNT_MAX, 9322 9322 .max_sectors = SZ_1M / SECTOR_SIZE, 9323 9323 .max_host_blocked = 1, 9324 + .host_tagset = true, 9324 9325 .track_queue_depth = 1, 9325 9326 .skip_settle_delay = 1, 9326 9327 .sdev_groups = ufshcd_driver_groups,