All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manivannan Sadhasivam <mani@kernel.org>
To: Bean Huo <beanhuo@iokpp.de>
Cc: avri.altman@wdc.com, bvanassche@acm.org, alim.akhtar@samsung.com,
	jejb@linux.ibm.com, martin.petersen@oracle.com,
	quic_cang@quicinc.com, quic_asutoshd@quicinc.com,
	beanhuo@micron.com, thomas@t-8ch.de, linux-scsi@vger.kernel.org,
	linux-kernel@vger.kernel.org, mikebi@micron.com,
	lporzio@micron.com
Subject: Re: [PATCH v4 2/3] scsi: ufs: core: Add UFS RTC support
Date: Mon, 11 Dec 2023 17:39:08 +0530	[thread overview]
Message-ID: <20231211120908.GC2894@thinkpad> (raw)
In-Reply-To: <31f011c3d25bf63ed2b8a17ecf89f5bf70d8548c.camel@iokpp.de>

On Sun, Dec 10, 2023 at 08:15:15PM +0100, Bean Huo wrote:
> On Fri, 2023-12-08 at 23:01 +0530, Manivannan Sadhasivam wrote:
> > > > 
> > > > Thank you for your reviews. I will incorporate the suggested
> > > > changes
> > > > into the patch, addressing all comments except for the RTC mode
> > > > switch.
> > > > The proposal is to perform the RTC mode switch during UFS
> > > > provisioning,
> > > > not at runtime in the UFS online phase. This approach ensures
> > > > that the
> > > > UFS configuration is populated based on the RTC configuration
> > > > established during provisioning. It is advisable not to change
> > > > the RTC
> > > > mode after provisioning is complete. Additionally, the usage of
> > > > tv_sec,
> > > > which returns time elapsed since boot, suggests that there is no
> > > > issue
> > > > with utilizing the RTC in this context.
> > > 
> > > Except that the warning will be issued to users after each 10s for
> > > 40 years.
> > > Atleast get rid of that.
> > > 
> > 
> > I tried this series on Qcom RB5 board and found the issue due to the
> > usage of
> > UFSHCD_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH flag. When this flag is
> > set,
> > ufshcd_device_init() will be called twice due to reinit of the
> > controller and
> > PHY.
> > 
> > Since RTC work is initialized and scheduled from
> > ufshcd_device_init(), panic
> > happens during second time. Is it possible to move RTC init outside
> > of
> > ufshcd_device_init(). Maybe you can parse RTC params in
> > ufshcd_device_init()
> > and initialize the work elsewhere. Or you can cancel the work before
> > calling
> > ufshcd_device_init() second time.
> > 
> > - Mani
> 
> 
> Thank you for your review. I have moved the INIT_DELAYED_WORK(&hba-
> >ufs_rtc_update_work, ufshcd_rtc_work) to ufshcd_init() from
> ufs_init_rtc(). This modification has been tested on the Qcom platform.

This works, thanks!

- Mani

> Regarding the warning, instead of removing it entirely, I have switched
> it to dev_dbg. This adjustment is made with the consideration that some
> form of customer notification is still necessary.
> 
> changes as below:
> 
> 
> diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
> index 953d50cc4256..cb6b0c286367 100644
> --- a/drivers/ufs/core/ufshcd.c
> +++ b/drivers/ufs/core/ufshcd.c
> @@ -8205,7 +8205,7 @@ static void ufshcd_update_rtc(struct ufs_hba
> *hba)
>         ktime_get_real_ts64(&ts64);
>  
>         if  (ts64.tv_sec < hba->dev_info.rtc_time_baseline) {
> -               dev_warn(hba->dev, "%s: Current time precedes previous
> setting!\n", __func__);
> +               dev_dbg(hba->dev, "%s: Current time precedes previous
> setting!\n", __func__);
>                 return;
>         }
>         /*
> @@ -8270,8 +8270,6 @@ static void  ufs_init_rtc(struct ufs_hba *hba, u8
> *desc_buf)
>          * update work, and let user configure by sysfs node according
> to specific circumstance.
>          */
>         hba->dev_info.rtc_update_period = 0;
> -
> -       INIT_DELAYED_WORK(&hba->ufs_rtc_update_work, ufshcd_rtc_work);
>  }
>  
>  static int ufs_get_device_desc(struct ufs_hba *hba)
> @@ -10634,8 +10632,8 @@ int ufshcd_init(struct ufs_hba *hba, void
> __iomem *mmio_base, unsigned int irq)
>                                                 UFS_SLEEP_PWR_MODE,
>                                                
> UIC_LINK_HIBERN8_STATE);
>  
> -       INIT_DELAYED_WORK(&hba->rpm_dev_flush_recheck_work,
> -                         ufshcd_rpm_dev_flush_recheck_work);
> +       INIT_DELAYED_WORK(&hba->rpm_dev_flush_recheck_work,
> ufshcd_rpm_dev_flush_recheck_work);
> +       INIT_DELAYED_WORK(&hba->ufs_rtc_update_work, ufshcd_rtc_work);
>  
>         /* Set the default auto-hiberate idle timer value to 150 ms */
>         if (ufshcd_is_auto_hibern8_supported(hba) && !hba->ahit) {
> 
> Kind regards,
> Bean

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

  reply	other threads:[~2023-12-11 12:09 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-08 10:39 [PATCH v4 0/3] Add UFS RTC support Bean Huo
2023-12-08 10:39 ` [PATCH v4 1/3] scsi: ufs: core: Add ufshcd_is_ufs_dev_busy() Bean Huo
2023-12-08 12:48   ` Manivannan Sadhasivam
2023-12-08 10:39 ` [PATCH v4 2/3] scsi: ufs: core: Add UFS RTC support Bean Huo
2023-12-08 14:50   ` Manivannan Sadhasivam
2023-12-08 15:12     ` Bean Huo
2023-12-08 17:06       ` Manivannan Sadhasivam
2023-12-08 17:31         ` Manivannan Sadhasivam
2023-12-10 19:15           ` Bean Huo
2023-12-11 12:09             ` Manivannan Sadhasivam [this message]
2023-12-10 19:28         ` Bean Huo
2023-12-11 12:07           ` Manivannan Sadhasivam
2023-12-08 10:39 ` [PATCH v4 3/3] scsi: ufs: core: Add sysfs node for UFS RTC update Bean Huo
2023-12-08 10:57 ` [PATCH v4 0/3] Add UFS RTC support Thomas Weißschuh

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=20231211120908.GC2894@thinkpad \
    --to=mani@kernel.org \
    --cc=alim.akhtar@samsung.com \
    --cc=avri.altman@wdc.com \
    --cc=beanhuo@iokpp.de \
    --cc=beanhuo@micron.com \
    --cc=bvanassche@acm.org \
    --cc=jejb@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=lporzio@micron.com \
    --cc=martin.petersen@oracle.com \
    --cc=mikebi@micron.com \
    --cc=quic_asutoshd@quicinc.com \
    --cc=quic_cang@quicinc.com \
    --cc=thomas@t-8ch.de \
    /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.