From: Bart Van Assche <bvanassche@acm.org>
To: "Peter Wang (王信友)" <peter.wang@mediatek.com>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH 2/2] scsi: ufs: core: Fix the code for entering hibernation
Date: Wed, 28 Aug 2024 10:10:10 -0400 [thread overview]
Message-ID: <62a5b419-930e-4e70-a4bd-affb29c2e95c@acm.org> (raw)
In-Reply-To: <1f0274b239c4a2484a65c28c5678aac4d4040a00.camel@mediatek.com>
On 8/28/24 9:46 AM, Peter Wang (王信友) wrote:
> 1. If only UFS controller core driver should do this,
> What about registers that are not REG_INTERRUPT_ENABLE?
> Since ufshcd_writel has been exported, shouldn't the host
> driver have the authority to control all Host REGs?
It is not because host drivers can change any host controller register
that host drivers should take the freedom to modify all host controller
registers. Modifying host controller registers that are vendor
specific from a host driver seems totally fine to me. I think that
standardized host controller registers should only be modified from the
UFS driver core. Otherwise the UFS core driver cannot be understood nor
verified without deep understanding of all the host drivers.
> 2. Set REG_INTERRUPT_ENABLE only when hibernate exit?
> If cause the UniPro link to exit, then it should still be correct,
> just exiting hibernate early?
This approach has two disadvantages:
- It requires that even more state information is tracked in struct
ufs_hba.
- This approach is probably incompatible with the power management core.
I think that there is code in the power management core for disabling
interrupts during suspend and reenabling interrupts during resume.
Enabling an interrupt that is already enabled is not allowed.
In general, disabling / reenabling interrupts is something that should
be avoided because it is not compatible with multithreading. The reason
why it works in the UFS driver for UIC commands is because these are
serialized.
Thanks,
Bart.
next prev parent reply other threads:[~2024-08-28 14:10 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-21 18:29 [PATCH 0/2] Fix the UFS driver hibernation code Bart Van Assche
2024-08-21 18:29 ` [PATCH 1/2] scsi: ufs: core: Make ufshcd_uic_cmd_compl() easier to read Bart Van Assche
2024-08-21 21:27 ` Bean Huo
2024-08-22 5:34 ` Peter Wang (王信友)
2024-08-22 17:02 ` Bart Van Assche
2024-08-23 2:54 ` Peter Wang (王信友)
2024-08-26 6:25 ` Dan Carpenter
2024-08-26 18:05 ` Bart Van Assche
2024-08-26 21:36 ` Dan Carpenter
2024-08-21 18:29 ` [PATCH 2/2] scsi: ufs: core: Fix the code for entering hibernation Bart Van Assche
2024-08-21 21:27 ` Bean Huo
2024-08-21 21:39 ` Bart Van Assche
2024-08-22 14:17 ` Bean Huo
2024-08-22 17:51 ` Bart Van Assche
2024-08-23 10:54 ` Bean Huo
2024-08-23 11:26 ` Can Guo
2024-08-23 16:09 ` Bart Van Assche
2024-08-21 23:26 ` Bao D. Nguyen
2024-08-22 0:14 ` Bart Van Assche
2024-08-22 1:05 ` Bao D. Nguyen
2024-08-22 18:13 ` Bart Van Assche
2024-08-22 20:54 ` Bao D. Nguyen
2024-08-22 21:08 ` Bart Van Assche
2024-08-23 12:01 ` Manivannan Sadhasivam
2024-08-23 14:23 ` Bart Van Assche
2024-08-23 14:58 ` Manivannan Sadhasivam
2024-08-23 16:07 ` Bart Van Assche
2024-08-23 16:48 ` Manivannan Sadhasivam
2024-08-23 18:05 ` Bart Van Assche
2024-08-24 2:29 ` Manivannan Sadhasivam
2024-08-24 2:48 ` Bart Van Assche
2024-08-24 3:03 ` Manivannan Sadhasivam
2024-08-26 6:48 ` Can Guo
2024-08-22 6:36 ` [PATCH 2/2] scsi: ufs: core: Fix the code for entering hibernation Manivannan Sadhasivam
2024-08-22 5:36 ` Peter Wang (王信友)
2024-08-22 23:34 ` Bao D. Nguyen
2024-08-23 2:06 ` Bart Van Assche
2024-08-23 2:57 ` Peter Wang (王信友)
2024-08-23 20:27 ` Bart Van Assche
2024-08-26 6:16 ` Peter Wang (王信友)
2024-08-26 18:08 ` Bart Van Assche
2024-08-27 1:39 ` Peter Wang (王信友)
2024-08-27 15:42 ` Bart Van Assche
2024-08-27 21:59 ` Bao D. Nguyen
2024-08-28 6:17 ` Peter Wang (王信友)
2024-08-28 11:18 ` Bart Van Assche
2024-08-28 13:46 ` Peter Wang (王信友)
2024-08-28 14:10 ` Bart Van Assche [this message]
2024-08-29 2:34 ` Peter Wang (王信友)
2024-08-23 3:43 ` Bao D. Nguyen
2024-08-23 20:25 ` Bart Van Assche
2024-08-27 21:17 ` Bao D. Nguyen
2024-08-27 21:39 ` Bart Van Assche
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=62a5b419-930e-4e70-a4bd-affb29c2e95c@acm.org \
--to=bvanassche@acm.org \
--cc=linux-scsi@vger.kernel.org \
--cc=peter.wang@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