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.
* 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.
Bart.