public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
To: Bart Van Assche <bvanassche@acm.org>
Cc: "Martin K . Petersen" <martin.petersen@oracle.com>,
	linux-scsi@vger.kernel.org,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Peter Wang <peter.wang@mediatek.com>,
	Minwoo Im <minwoo.im@samsung.com>,
	Stanley Jhu <chu.stanley@gmail.com>,
	ChanWoo Lee <cw9316.lee@samsung.com>,
	Yang Li <yang.lee@linux.alibaba.com>,
	"Bao D. Nguyen" <quic_nguyenb@quicinc.com>,
	Avri Altman <avri.altman@wdc.com>,
	Andrew Halaney <ahalaney@redhat.com>,
	Bean Huo <beanhuo@micron.com>,
	Maramaina Naresh <quic_mnaresh@quicinc.com>,
	Akinobu Mita <akinobu.mita@gmail.com>
Subject: Re: [PATCH v4 9/9] scsi: ufs: Make .get_hba_mac() optional
Date: Mon, 8 Jul 2024 16:14:15 +0530	[thread overview]
Message-ID: <20240708104415.GB5745@thinkpad> (raw)
In-Reply-To: <8544aa91-1044-41df-8650-2a3fa3d58016@acm.org>

On Sat, Jul 06, 2024 at 08:24:06PM -0700, Bart Van Assche wrote:
> On 7/6/24 9:33 AM, Manivannan Sadhasivam wrote:
> > On Wed, Jul 03, 2024 at 01:36:46PM -0700, Bart Van Assche wrote:
> > > If an UFSHCI controller is reset, the controller is reset from MCQ mode
> > > to SDB mode and it is derived from the hba->mcq_enabled structure member
> > > that MCQ was enabled before the reset. In other words, moving all
> > > hba->mcq_enabled assignments into ufshcd_mcq_{enable/disable}() would
> > > break the code that resets the UFSHCI controller.
> > 
> > Hmm, could you please point me to the code that does this? I tried looking for
> > it but couldn't spot.
> 
> * There is no "hba->mcq_enabled = false;" statement anywhere in the UFS
>   driver core. This shows that the reset code does not reset
>   hba->mcq_enabled.

Right. So this flag is used to reconfigure the MCQ mode upon HCI reset.
Previously we never disabled MCQ mode as well. But that is being changed by this
patch.

> * From the UFSHCI specification, offset 300h, global config register:
>   in the "reset" column I see 0h for the queue type (QT) bit. In other
>   words, if a UFS host controller is reset, if MCQ is enabled (QT=1),
>   it must be disabled (QT=0) until the application processor enables it
>   again.
> 

So this means, once the HCI is reset, the QT field will become '0' by default.
So if MCQ mode is supposed to be enabled, then driver has to explicitly enable
it.

But only place where you disable MCQ is when ufshcd_alloc_mcq() fails (in this
patch). Then you also set 'hba->mcq_enabled = false' afterwards. I fail to
understand why you cannot move the assignment to the enable/disable API itself.

If you do not set the flag after calling the ufshcd_mcq_disable() API, your
argument makes sense. But that's not the case. Perhaps I'm missing anything
obvious?

- Mani

-- 
மணிவண்ணன் சதாசிவம்

  reply	other threads:[~2024-07-08 10:44 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-02 20:39 [PATCH v4 0/9] UFS patches for kernel 6.11 Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 1/9] scsi: ufs: Declare functions once Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 2/9] scsi: ufs: Initialize struct uic_command once Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 3/9] scsi: ufs: Remove two constants Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 4/9] scsi: ufs: Rename the MASK_TRANSFER_REQUESTS_SLOTS constant Bart Van Assche
2024-07-03 12:59   ` Manivannan Sadhasivam
2024-07-02 20:39 ` [PATCH v4 5/9] scsi: ufs: Initialize hba->reserved_slot earlier Bart Van Assche
2024-07-03 13:01   ` Manivannan Sadhasivam
2024-07-02 20:39 ` [PATCH v4 6/9] scsi: ufs: Inline is_mcq_enabled() Bart Van Assche
2024-07-03  8:58   ` Peter Wang (王信友)
2024-07-03 13:03   ` Manivannan Sadhasivam
2024-07-02 20:39 ` [PATCH v4 7/9] scsi: ufs: Move the ufshcd_mcq_enable() call Bart Van Assche
2024-07-03  8:59   ` Peter Wang (王信友)
2024-07-03 13:10   ` Manivannan Sadhasivam
2024-07-03 20:32     ` Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 8/9] scsi: ufs: Inline ufshcd_mcq_vops_get_hba_mac() Bart Van Assche
2024-07-02 20:39 ` [PATCH v4 9/9] scsi: ufs: Make .get_hba_mac() optional Bart Van Assche
2024-07-03  9:00   ` Peter Wang (王信友)
2024-07-03 13:22   ` Manivannan Sadhasivam
2024-07-03 20:36     ` Bart Van Assche
2024-07-06 16:33       ` Manivannan Sadhasivam
2024-07-07  3:24         ` Bart Van Assche
2024-07-08 10:44           ` Manivannan Sadhasivam [this message]
2024-07-08 17:10             ` Bart Van Assche
2024-07-08 18:06               ` Manivannan Sadhasivam

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=20240708104415.GB5745@thinkpad \
    --to=manivannan.sadhasivam@linaro.org \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=ahalaney@redhat.com \
    --cc=akinobu.mita@gmail.com \
    --cc=avri.altman@wdc.com \
    --cc=beanhuo@micron.com \
    --cc=bvanassche@acm.org \
    --cc=chu.stanley@gmail.com \
    --cc=cw9316.lee@samsung.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=minwoo.im@samsung.com \
    --cc=peter.wang@mediatek.com \
    --cc=quic_mnaresh@quicinc.com \
    --cc=quic_nguyenb@quicinc.com \
    --cc=yang.lee@linux.alibaba.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