All of lore.kernel.org
 help / color / mirror / Atom feed
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.




  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.