public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Asutosh Das <quic_asutoshd@quicinc.com>
To: Manivannan Sadhasivam <mani@kernel.org>
Cc: <quic_cang@quicinc.com>, <martin.petersen@oracle.com>,
	<linux-scsi@vger.kernel.org>, <quic_nguyenb@quicinc.com>,
	<quic_xiaosenh@quicinc.com>, <stanley.chu@mediatek.com>,
	<eddie.huang@mediatek.com>, <daejun7.park@samsung.com>,
	<bvanassche@acm.org>, <avri.altman@wdc.com>, <beanhuo@micron.com>,
	<linux-arm-msm@vger.kernel.org>
Subject: Re: [PATCH v6 00/16] Add Multi Circular Queue Support
Date: Tue, 29 Nov 2022 08:30:16 -0800	[thread overview]
Message-ID: <20221129163016.GG20677@asutoshd-linux1.qualcomm.com> (raw)
In-Reply-To: <20221129153931.GJ4931@workstation>

On Tue, Nov 29 2022 at 07:39 -0800, Manivannan Sadhasivam wrote:
>Hi Asutosh,
>
>On Mon, Nov 28, 2022 at 05:20:41PM -0800, Asutosh Das wrote:
>> UFS Multi-Circular Queue (MCQ) has been added in UFSHCI v4.0 to improve storage performance.
>> The implementation uses the shared tagging mechanism so that tags are shared
>> among the hardware queues. The number of hardware queues is configurable.
>> This series doesn't include the ESI implementation for completion handling.
>> This implementation has been verified by on a Qualcomm platform.
>>
>> Please take a look and let us know your thoughts.
>>
>> v5 -> v6:
>> - Addressed Mani's comments
>> - Addressed Bart's comments
>>
>
>Thanks for the continuous update of the series. In this version, you
>seem to have missed some review tags from myself and Bart. Please
>make sure to collect all tags in the next version if you happen to
>send one.
>
Thanks Mani. I will send an updated series with the tags added today.

-asd

>Thanks,
>Mani
>
>> v4 -> v5:
>> - Fixed failure to fallback to SDB during initialization
>> - Fixed failure when rpm-lvl=5 in the ufshcd_host_reset_and_restore() path
>> - Improved ufshcd_mcq_config_nr_queues() to handle different configurations
>> - Addressed Bart's comments
>> - Verified read/write using FIO, clock gating, runtime-pm[lvl=3, lvl=5]
>>
>> v3 -> v4:
>> - Added a kernel module parameter to disable MCQ mode
>> - Added Bart's reviewed-by tag for some patches
>> - Addressed Bart's comments
>>
>> v2 -> v3:
>> - Split ufshcd_config_mcq() into ufshcd_alloc_mcq() and ufshcd_config_mcq()
>> - Use devm_kzalloc() in ufshcd_mcq_init()
>> - Free memory and resource allocation on error paths
>> - Corrected typos in code comments
>>
>> v1 -> v2:
>> - Added a non MCQ related change to use a function to extrace ufs extended
>> feature
>> - Addressed Mani's comments
>> - Addressed Bart's comments
>>
>> v1:
>> - Split the changes
>> - Addressed Bart's comments
>> - Addressed Bean's comments
>>
>> * RFC versions:
>> v2 -> v3:
>> - Split the changes based on functionality
>> - Addressed queue configuration issues
>> - Faster SQE tail pointer increments
>> - Addressed comments from Bart and Manivannan
>>
>> v1 -> v2:
>> - Enabled host_tagset
>> - Added queue num configuration support
>> - Added one more vops to allow vendor provide the wanted MAC
>> - Determine nutrs and can_queue by considering both MAC, bqueuedepth and EXT_IID support
>> - Postponed MCQ initialization and scsi_add_host() to async probe
>> - Used (EXT_IID, Task Tag) tuple to support up to 4096 tasks (theoretically)
>>
>>
>> Asutosh Das (16):
>>   ufs: core: Optimize duplicate code to read extended feature
>>   ufs: core: Probe for ext_iid support
>>   ufs: core: Introduce Multi-circular queue capability
>>   ufs: core: Defer adding host to scsi if mcq is supported
>>   ufs: core: mcq: Add support to allocate multiple queues
>>   ufs: core: mcq: Configure resource regions
>>   ufs: core: mcq: Calculate queue depth
>>   ufs: core: mcq: Allocate memory for mcq mode
>>   ufs: core: mcq: Configure operation and runtime interface
>>   ufs: core: mcq: Use shared tags for MCQ mode
>>   ufs: core: Prepare ufshcd_send_command for mcq
>>   ufs: core: mcq: Find hardware queue to queue request
>>   ufs: core: Prepare for completion in mcq
>>   ufs: mcq: Add completion support of a cqe
>>   ufs: core: mcq: Add completion support in poll
>>   ufs: core: mcq: Enable Multi Circular Queue
>>
>>  drivers/ufs/core/Makefile      |   2 +-
>>  drivers/ufs/core/ufs-mcq.c     | 416 +++++++++++++++++++++++++++++++++++++++++
>>  drivers/ufs/core/ufshcd-priv.h |  92 ++++++++-
>>  drivers/ufs/core/ufshcd.c      | 395 +++++++++++++++++++++++++++++++-------
>>  drivers/ufs/host/ufs-qcom.c    | 148 +++++++++++++++
>>  drivers/ufs/host/ufs-qcom.h    |   5 +
>>  include/ufs/ufs.h              |   6 +
>>  include/ufs/ufshcd.h           | 128 +++++++++++++
>>  include/ufs/ufshci.h           |  64 +++++++
>>  9 files changed, 1189 insertions(+), 67 deletions(-)
>>  create mode 100644 drivers/ufs/core/ufs-mcq.c
>>
>> --
>> 2.7.4
>>

      reply	other threads:[~2022-11-29 16:30 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-29  1:20 [PATCH v6 00/16] Add Multi Circular Queue Support Asutosh Das
2022-11-29  1:20 ` [PATCH v6 01/16] ufs: core: Optimize duplicate code to read extended feature Asutosh Das
2022-11-29 15:24   ` Manivannan Sadhasivam
2022-11-29  1:20 ` [PATCH v6 02/16] ufs: core: Probe for ext_iid support Asutosh Das
2022-11-29 15:25   ` Manivannan Sadhasivam
2022-11-29  1:20 ` [PATCH v6 03/16] ufs: core: Introduce Multi-circular queue capability Asutosh Das
2022-11-29  1:20 ` [PATCH v6 04/16] ufs: core: Defer adding host to scsi if mcq is supported Asutosh Das
2022-11-29 15:26   ` Manivannan Sadhasivam
2022-11-29  1:20 ` [PATCH v6 05/16] ufs: core: mcq: Add support to allocate multiple queues Asutosh Das
2022-11-29 15:28   ` Manivannan Sadhasivam
2022-11-29  1:20 ` [PATCH v6 06/16] ufs: core: mcq: Configure resource regions Asutosh Das
2022-11-29 15:32   ` Manivannan Sadhasivam
2022-11-29  1:20 ` [PATCH v6 07/16] ufs: core: mcq: Calculate queue depth Asutosh Das
2022-11-29 15:33   ` Manivannan Sadhasivam
2022-11-29  1:20 ` [PATCH v6 08/16] ufs: core: mcq: Allocate memory for mcq mode Asutosh Das
2022-11-29 15:35   ` Manivannan Sadhasivam
2022-11-29  1:20 ` [PATCH v6 09/16] ufs: core: mcq: Configure operation and runtime interface Asutosh Das
2022-11-29  1:20 ` [PATCH v6 10/16] ufs: core: mcq: Use shared tags for MCQ mode Asutosh Das
2022-11-29  1:20 ` [PATCH v6 11/16] ufs: core: Prepare ufshcd_send_command for mcq Asutosh Das
2022-11-29  1:20 ` [PATCH v6 12/16] ufs: core: mcq: Find hardware queue to queue request Asutosh Das
2022-11-29  1:20 ` [PATCH v6 13/16] ufs: core: Prepare for completion in mcq Asutosh Das
2022-11-29  1:20 ` [PATCH v6 14/16] ufs: mcq: Add completion support of a cqe Asutosh Das
2022-11-29 15:37   ` Manivannan Sadhasivam
2022-11-29  1:20 ` [PATCH v6 15/16] ufs: core: mcq: Add completion support in poll Asutosh Das
2022-11-29  1:20 ` [PATCH v6 16/16] ufs: core: mcq: Enable Multi Circular Queue Asutosh Das
2022-11-29 15:39 ` [PATCH v6 00/16] Add Multi Circular Queue Support Manivannan Sadhasivam
2022-11-29 16:30   ` Asutosh Das [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221129163016.GG20677@asutoshd-linux1.qualcomm.com \
    --to=quic_asutoshd@quicinc.com \
    --cc=avri.altman@wdc.com \
    --cc=beanhuo@micron.com \
    --cc=bvanassche@acm.org \
    --cc=daejun7.park@samsung.com \
    --cc=eddie.huang@mediatek.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mani@kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=quic_cang@quicinc.com \
    --cc=quic_nguyenb@quicinc.com \
    --cc=quic_xiaosenh@quicinc.com \
    --cc=stanley.chu@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox