Message ID | 20230823154413.23788-5-quic_nitirawa@quicinc.com |
---|---|
State | New |
Headers | show |
Series | scsi: ufs: qcom: Align programming sequence as per HW spec | expand |
On Wed, Aug 23, 2023 at 09:14:11PM +0530, Nitin Rawat wrote: > Currently CORE_CLK_1US_CYCLES, PA_VS_CORE_CLK_40NS_CYCLES are configured > in clk scaling post change ops. Move this to clk scaling pre change ops to > align with the hardware specification. > Does this mean, the driver was doing the clk scaling at the wrong time? If so, this patch should be moved ahead of all patches, should have fixes tag and CC stable list. - Mani > Co-developed-by: Naveen Kumar Goud Arepalli <quic_narepall@quicinc.com> > Signed-off-by: Naveen Kumar Goud Arepalli <quic_narepall@quicinc.com> > Signed-off-by: Nitin Rawat <quic_nitirawa@quicinc.com> > --- > drivers/ufs/host/ufs-qcom.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c > index 8162b19191a9..491c0173603e 100644 > --- a/drivers/ufs/host/ufs-qcom.c > +++ b/drivers/ufs/host/ufs-qcom.c > @@ -1399,12 +1399,6 @@ static int ufs_qcom_set_core_clk_ctrl(struct ufs_hba *hba, > } > > static int ufs_qcom_clk_scale_up_pre_change(struct ufs_hba *hba) > -{ > - /* nothing to do as of now */ > - return 0; > -} > - > -static int ufs_qcom_clk_scale_up_post_change(struct ufs_hba *hba) > { > struct ufs_qcom_host *host = ufshcd_get_variant(hba); > > @@ -1414,6 +1408,11 @@ static int ufs_qcom_clk_scale_up_post_change(struct ufs_hba *hba) > return ufs_qcom_cfg_core_clk_ctrl(hba); > } > > +static int ufs_qcom_clk_scale_up_post_change(struct ufs_hba *hba) > +{ > + return 0; > +} > + > static int ufs_qcom_clk_scale_down_pre_change(struct ufs_hba *hba) > { > struct ufs_qcom_host *host = ufshcd_get_variant(hba); > -- > 2.17.1 >
On 8/28/2023 1:38 PM, Manivannan Sadhasivam wrote: > On Wed, Aug 23, 2023 at 09:14:11PM +0530, Nitin Rawat wrote: >> Currently CORE_CLK_1US_CYCLES, PA_VS_CORE_CLK_40NS_CYCLES are configured >> in clk scaling post change ops. Move this to clk scaling pre change ops to >> align with the hardware specification. >> > > Does this mean, the driver was doing the clk scaling at the wrong time? If so, > this patch should be moved ahead of all patches, should have fixes tag and CC > stable list. > > - Mani > -- Functionality wise there is no affect with this patch. Our Qcom internal Hardware specification suggest to program these timers in pre clk scale. SO we wanted to align with the HPG. -Nitin >> Co-developed-by: Naveen Kumar Goud Arepalli <quic_narepall@quicinc.com> >> Signed-off-by: Naveen Kumar Goud Arepalli <quic_narepall@quicinc.com> >> Signed-off-by: Nitin Rawat <quic_nitirawa@quicinc.com> >> --- >> drivers/ufs/host/ufs-qcom.c | 11 +++++------ >> 1 file changed, 5 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c >> index 8162b19191a9..491c0173603e 100644 >> --- a/drivers/ufs/host/ufs-qcom.c >> +++ b/drivers/ufs/host/ufs-qcom.c >> @@ -1399,12 +1399,6 @@ static int ufs_qcom_set_core_clk_ctrl(struct ufs_hba *hba, >> } >> >> static int ufs_qcom_clk_scale_up_pre_change(struct ufs_hba *hba) >> -{ >> - /* nothing to do as of now */ >> - return 0; >> -} >> - >> -static int ufs_qcom_clk_scale_up_post_change(struct ufs_hba *hba) >> { >> struct ufs_qcom_host *host = ufshcd_get_variant(hba); >> >> @@ -1414,6 +1408,11 @@ static int ufs_qcom_clk_scale_up_post_change(struct ufs_hba *hba) >> return ufs_qcom_cfg_core_clk_ctrl(hba); >> } >> >> +static int ufs_qcom_clk_scale_up_post_change(struct ufs_hba *hba) >> +{ >> + return 0; >> +} >> + >> static int ufs_qcom_clk_scale_down_pre_change(struct ufs_hba *hba) >> { >> struct ufs_qcom_host *host = ufshcd_get_variant(hba); >> -- >> 2.17.1 >> >
diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index 8162b19191a9..491c0173603e 100644 --- a/drivers/ufs/host/ufs-qcom.c +++ b/drivers/ufs/host/ufs-qcom.c @@ -1399,12 +1399,6 @@ static int ufs_qcom_set_core_clk_ctrl(struct ufs_hba *hba, } static int ufs_qcom_clk_scale_up_pre_change(struct ufs_hba *hba) -{ - /* nothing to do as of now */ - return 0; -} - -static int ufs_qcom_clk_scale_up_post_change(struct ufs_hba *hba) { struct ufs_qcom_host *host = ufshcd_get_variant(hba); @@ -1414,6 +1408,11 @@ static int ufs_qcom_clk_scale_up_post_change(struct ufs_hba *hba) return ufs_qcom_cfg_core_clk_ctrl(hba); } +static int ufs_qcom_clk_scale_up_post_change(struct ufs_hba *hba) +{ + return 0; +} + static int ufs_qcom_clk_scale_down_pre_change(struct ufs_hba *hba) { struct ufs_qcom_host *host = ufshcd_get_variant(hba);