drivers/ufs/core/ufs-mcq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
If read the MAXQ field value verbatim, can use a value
that is one less than the supported Queue.
So read the MAXQ field value and incremented it by one
below is the specification
Maximum number of Queues (MAXQ):
Maximum number of Queues this controller can support.
In this version of specification, maximum value is 31.
NOTE To support 1:1 topology, the Host HW controller must support
HW resources for MAXQ number of Completion Queues too.
Host SW may use less number of completion queues for N:1 topology..:1 Queue
0: 1 Queue
1: 2 Queues
…
31: 32 Queues
32-255 : reserved
Signed-off-by: SEO HOYOUNG <hy50.seo@samsung.com>
---
drivers/ufs/core/ufs-mcq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/ufs/core/ufs-mcq.c b/drivers/ufs/core/ufs-mcq.c
index 31df052fbc41..a1ee3318c605 100644
--- a/drivers/ufs/core/ufs-mcq.c
+++ b/drivers/ufs/core/ufs-mcq.c
@@ -150,7 +150,7 @@ static int ufshcd_mcq_config_nr_queues(struct ufs_hba *hba)
u32 hba_maxq, rem, tot_queues;
struct Scsi_Host *host = hba->host;
- hba_maxq = FIELD_GET(MAX_QUEUE_SUP, hba->mcq_capabilities);
+ hba_maxq = FIELD_GET(MAX_QUEUE_SUP, hba->mcq_capabilities) + 1;
tot_queues = UFS_MCQ_NUM_DEV_CMD_QUEUES + read_queues + poll_queues +
rw_queues;
--
2.26.0
Hi, SEO HOYOUNG <hy50.seo@samsung.com> 於 2023年4月19日 週三 下午5:56寫道: > > If read the MAXQ field value verbatim, can use a value > that is one less than the supported Queue. > So read the MAXQ field value and incremented it by one > > below is the specification > Maximum number of Queues (MAXQ): > Maximum number of Queues this controller can support. > In this version of specification, maximum value is 31. > > NOTE To support 1:1 topology, the Host HW controller must support > HW resources for MAXQ number of Completion Queues too. > Host SW may use less number of completion queues for N:1 topology..:1 Queue > 0: 1 Queue > 1: 2 Queues > … > 31: 32 Queues > 32-255 : reserved > > Signed-off-by: SEO HOYOUNG <hy50.seo@samsung.com> > --- > drivers/ufs/core/ufs-mcq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/ufs/core/ufs-mcq.c b/drivers/ufs/core/ufs-mcq.c > index 31df052fbc41..a1ee3318c605 100644 > --- a/drivers/ufs/core/ufs-mcq.c > +++ b/drivers/ufs/core/ufs-mcq.c > @@ -150,7 +150,7 @@ static int ufshcd_mcq_config_nr_queues(struct ufs_hba *hba) > u32 hba_maxq, rem, tot_queues; > struct Scsi_Host *host = hba->host; > > - hba_maxq = FIELD_GET(MAX_QUEUE_SUP, hba->mcq_capabilities); > + hba_maxq = FIELD_GET(MAX_QUEUE_SUP, hba->mcq_capabilities) + 1; > > tot_queues = UFS_MCQ_NUM_DEV_CMD_QUEUES + read_queues + poll_queues + > rw_queues; > -- > 2.26.0 > This seems to be the same patch uploaded by Powen: https://patchwork.kernel.org/project/linux-scsi/patch/20230307065448.15279-4-powen.kao@mediatek.com/
> -----Original Message----- > From: Stanley Chu <chu.stanley@gmail.com> > Sent: Wednesday, April 19, 2023 7:33 PM > To: SEO HOYOUNG <hy50.seo@samsung.com> > Cc: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; > alim.akhtar@samsung.com; avri.altman@wdc.com; jejb@linux.ibm.com; > martin.petersen@oracle.com; beanhuo@micron.com; bvanassche@acm.org; > bhoon95.kim@samsung.com; kwmad.kim@samsung.com; sc.suh@samsung.com; > quic_nguyenb@quicinc.com; Po-Wen Kao <powen.kao@mediatek.com>; > peter.wang@mediatek.com > Subject: Re: [PATCH v1] scsi: ufs: mcq: add 1 to the max Queues value > > Hi, > > SEO HOYOUNG <hy50.seo@samsung.com> 於 2023年4月19日 週三 下午5:56寫道: > > > > If read the MAXQ field value verbatim, can use a value that is one > > less than the supported Queue. > > So read the MAXQ field value and incremented it by one > > > > below is the specification > > Maximum number of Queues (MAXQ): > > Maximum number of Queues this controller can support. > > In this version of specification, maximum value is 31. > > > > NOTE To support 1:1 topology, the Host HW controller must support HW > > resources for MAXQ number of Completion Queues too. > > Host SW may use less number of completion queues for N:1 topology..:1 > > Queue > > 0: 1 Queue > > 1: 2 Queues > > … > > 31: 32 Queues > > 32-255 : reserved > > > > Signed-off-by: SEO HOYOUNG <hy50.seo@samsung.com> > > --- > > drivers/ufs/core/ufs-mcq.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/ufs/core/ufs-mcq.c b/drivers/ufs/core/ufs-mcq.c > > index 31df052fbc41..a1ee3318c605 100644 > > --- a/drivers/ufs/core/ufs-mcq.c > > +++ b/drivers/ufs/core/ufs-mcq.c > > @@ -150,7 +150,7 @@ static int ufshcd_mcq_config_nr_queues(struct > ufs_hba *hba) > > u32 hba_maxq, rem, tot_queues; > > struct Scsi_Host *host = hba->host; > > > > - hba_maxq = FIELD_GET(MAX_QUEUE_SUP, hba->mcq_capabilities); > > + hba_maxq = FIELD_GET(MAX_QUEUE_SUP, hba->mcq_capabilities) + > > + 1; > > > > tot_queues = UFS_MCQ_NUM_DEV_CMD_QUEUES + read_queues + > poll_queues + > > rw_queues; > > -- > > 2.26.0 > > > > This seems to be the same patch uploaded by Powen: > https://patchwork.kernel.org/project/linux- > scsi/patch/20230307065448.15279-4-powen.kao@mediatek.com/ Hi, Thanks for checking patch. I didn't realize there was already a patch. So I have to wait for that patchset to be merged?
© 2016 - 2025 Red Hat, Inc.