From: "Peter Wang (王信友)" <peter.wang@mediatek.com>
To: "bvanassche@acm.org" <bvanassche@acm.org>
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: Thu, 29 Aug 2024 02:34:26 +0000 [thread overview]
Message-ID: <d9242830b959878241eee610d815940be53bd8cb.camel@mediatek.com> (raw)
In-Reply-To: <62a5b419-930e-4e70-a4bd-affb29c2e95c@acm.org>
On Wed, 2024-08-28 at 10:10 -0400, Bart Van Assche wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> 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.
>
Hi Bart,
But what we are discussing is a 'workaround', which might allow
modifications to standardized host controller registers, right?
> > 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.
It could utilize a host private structure, like ufs_mtk_host.
> - 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.
>
Power management enable or disable interrupt should through
device driver hook, such as suspend/resume callback function?
I am not sure because MediaTek's power management does
not directly control interrupts.
> 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.
Yes, but entering and exiting hibernate are protected by
clock gating or the runtime/system PM framework. There shouldn't
be issues with multiple threads entering or exiting hibernate?
Thanks.
Peter
>
> Thanks,
>
> Bart.
next prev parent reply other threads:[~2024-08-29 2:34 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
2024-08-29 2:34 ` Peter Wang (王信友) [this message]
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=d9242830b959878241eee610d815940be53bd8cb.camel@mediatek.com \
--to=peter.wang@mediatek.com \
--cc=bvanassche@acm.org \
--cc=linux-scsi@vger.kernel.org \
/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