All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anil Joy Varughese <aniljoy@cadence.com>
To: Vignesh Raghavendra <vigneshr@ti.com>,
	"alim.akhtar@samsung.com" <alim.akhtar@samsung.com>,
	"avri.altman@wdc.com" <avri.altman@wdc.com>,
	"pedrom.sousa@synopsys.com" <pedrom.sousa@synopsys.com>
Cc: "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"hare@suse.de" <hare@suse.de>,
	Rafal Ciepiela <rafalc@cadence.com>,
	Milind Parab <mparab@cadence.com>, Jan Kotas <jank@cadence.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH] scsi: ufs: Additional clock initialization in Cadence UFS
Date: Thu, 1 Aug 2019 12:58:11 +0000	[thread overview]
Message-ID: <MN2PR07MB6045F10BED4B8B14B7180021A8DE0@MN2PR07MB6045.namprd07.prod.outlook.com> (raw)
In-Reply-To: <77210067-ee65-4c12-9c7e-2b78260acdef@ti.com>

Hi Vignesh,

You are correct I have tested the code here and .setup_clock is not needed anymore; CDNS_UFS_REG_HCLKDIV configured in .hce_enable_notify() is enough. I will fix this in patch v2. 

Thanks,
Anil

-----Original Message-----
From: Vignesh Raghavendra <vigneshr@ti.com> 
Sent: Wednesday, July 31, 2019 10:05 PM
To: Anil Joy Varughese <aniljoy@cadence.com>; alim.akhtar@samsung.com; avri.altman@wdc.com; pedrom.sousa@synopsys.com
Cc: jejb@linux.ibm.com; martin.petersen@oracle.com; hare@suse.de; Rafal Ciepiela <rafalc@cadence.com>; Milind Parab <mparab@cadence.com>; Jan Kotas <jank@cadence.com>; linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: Re: [PATCH] scsi: ufs: Additional clock initialization in Cadence UFS

EXTERNAL MAIL


Hi,

On 31-Jul-19 2:06 PM, Anil Varughese wrote:
> Configure CDNS_UFS_REG_HCLKDIV in .hce_enable_notify() because if 
> UFSHCD resets the controller ip because of phy or device related 
> errors then CDNS_UFS_REG_HCLKDIV is reset to default value and 
> .setup_clock() is not called later in the sequence whereas 
> hce_enable_notify will be called everytime controller is reenabled.
>
So, now that CDNS_UFS_REG_HCLKDIV is configured in .hce_enable_notify(), is it still required to have the same code in .setup_clock() as well?
Isn't setting up CDNS_UFS_REG_HCLKDIV in .hce_enable_notify() alone not sufficient?

Regards
Vignesh

> Signed-off-by: Anil Varughese <aniljoy@cadence.com>
> ---
>  drivers/scsi/ufs/cdns-pltfrm.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/scsi/ufs/cdns-pltfrm.c 
> b/drivers/scsi/ufs/cdns-pltfrm.c index 86dbb723f..15ee54d28 100644
> --- a/drivers/scsi/ufs/cdns-pltfrm.c
> +++ b/drivers/scsi/ufs/cdns-pltfrm.c
> @@ -78,6 +78,22 @@ static int cdns_ufs_setup_clocks(struct ufs_hba *hba, bool on,
>  	return cdns_ufs_set_hclkdiv(hba);
>  }
>  
> +/**
> + * Called before and after HCE enable bit is set.
> + * @hba: host controller instance
> + * @status: notify stage (pre, post change)
> + *
> + * Return zero for success and non-zero for failure  */ static int 
> +cdns_ufs_hce_enable_notify(struct ufs_hba *hba,
> +				      enum ufs_notify_change_status status) {
> +	if (status != PRE_CHANGE)
> +		return 0;
> +
> +	return cdns_ufs_set_hclkdiv(hba);
> +}
> +
>  /**
>   * cdns_ufs_init - performs additional ufs initialization
>   * @hba: host controller instance
> @@ -115,12 +131,14 @@ static int 
> cdns_ufs_m31_16nm_phy_initialization(struct ufs_hba *hba)  static const struct ufs_hba_variant_ops cdns_ufs_pltfm_hba_vops = {
>  	.name = "cdns-ufs-pltfm",
>  	.setup_clocks = cdns_ufs_setup_clocks,
> +	.hce_enable_notify = cdns_ufs_hce_enable_notify,
>  };
>  
>  static const struct ufs_hba_variant_ops cdns_ufs_m31_16nm_pltfm_hba_vops = {
>  	.name = "cdns-ufs-pltfm",
>  	.init = cdns_ufs_init,
>  	.setup_clocks = cdns_ufs_setup_clocks,
> +	.hce_enable_notify = cdns_ufs_hce_enable_notify,
>  	.phy_initialization = cdns_ufs_m31_16nm_phy_initialization,
>  };
>  
> 

      reply	other threads:[~2019-08-01 12:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-31  8:36 [PATCH] scsi: ufs: Additional clock initialization in Cadence UFS Anil Varughese
2019-07-31  8:36 ` Anil Varughese
2019-07-31 10:09 ` Avri Altman
2019-07-31 16:35 ` Vignesh Raghavendra
2019-07-31 16:35   ` Vignesh Raghavendra
2019-08-01 12:58   ` Anil Joy Varughese [this message]

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=MN2PR07MB6045F10BED4B8B14B7180021A8DE0@MN2PR07MB6045.namprd07.prod.outlook.com \
    --to=aniljoy@cadence.com \
    --cc=alim.akhtar@samsung.com \
    --cc=avri.altman@wdc.com \
    --cc=hare@suse.de \
    --cc=jank@cadence.com \
    --cc=jejb@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=mparab@cadence.com \
    --cc=pedrom.sousa@synopsys.com \
    --cc=rafalc@cadence.com \
    --cc=vigneshr@ti.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 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.