[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <79d2f373-ee53-4cd2-b228-171daf3adcb7@quicinc.com>
Date: Thu, 22 May 2025 03:49:12 +0530
From: Nitin Rawat <quic_nitirawa@...cinc.com>
To: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
CC: <vkoul@...nel.org>, <kishon@...nel.org>,
<James.Bottomley@...senpartnership.com>, <martin.petersen@...cle.com>,
<bvanassche@....org>, <andersson@...nel.org>,
<neil.armstrong@...aro.org>, <dmitry.baryshkov@....qualcomm.com>,
<konrad.dybcio@....qualcomm.com>, <quic_rdwivedi@...cinc.com>,
<quic_cang@...cinc.com>, <linux-arm-msm@...r.kernel.org>,
<linux-phy@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
<linux-scsi@...r.kernel.org>
Subject: Re: [PATCH V5 07/11] phy: qcom-qmp-ufs: Remove qmp_ufs_exit() and
Inline qmp_ufs_com_exit()
On 5/21/2025 7:19 PM, Manivannan Sadhasivam wrote:
> On Thu, May 15, 2025 at 09:57:18PM +0530, Nitin Rawat wrote:
>> qmp_ufs_exit() is a wrapper function. It only calls qmp_ufs_com_exit().
>> Remove it to simplify the ufs phy driver.
>>
>
> Okay, so you are doing it now...
Yes
>
>> Additonally partial Inline(dropping the reset assert) qmp_ufs_com_exit
>> into qmp_ufs_power_off function to avoid unnecessary function call.
>>
>
> Why are you dropping the reset_assert()?
This was not aligning to Phy programming guide .
>
>> Signed-off-by: Nitin Rawat <quic_nitirawa@...cinc.com>
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
>> ---
>> drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 19 +++++--------------
>> 1 file changed, 5 insertions(+), 14 deletions(-)
>>
>> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
>> index a5974a1fb5bb..fca47e5e8bf0 100644
>> --- a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
>> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
>> @@ -1758,19 +1758,6 @@ static void qmp_ufs_init_registers(struct qmp_ufs *qmp, const struct qmp_phy_cfg
>> qmp_ufs_init_all(qmp, &cfg->tbls_hs_b);
>> }
>>
>> -static int qmp_ufs_com_exit(struct qmp_ufs *qmp)
>> -{
>> - const struct qmp_phy_cfg *cfg = qmp->cfg;
>> -
>> - reset_control_assert(qmp->ufs_reset);
>> -
>> - clk_bulk_disable_unprepare(qmp->num_clks, qmp->clks);
>> -
>> - regulator_bulk_disable(cfg->num_vregs, qmp->vregs);
>> -
>> - return 0;
>> -}
>> -
>> static int qmp_ufs_power_on(struct phy *phy)
>> {
>> struct qmp_ufs *qmp = phy_get_drvdata(phy);
>> @@ -1851,7 +1838,11 @@ static int qmp_ufs_power_off(struct phy *phy)
>> qphy_clrbits(qmp->pcs, cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL],
>> SW_PWRDN);
>>
>> - qmp_ufs_com_exit(qmp);
>> + /* Turn off all the phy clocks */
>
> You should drop this and below comment. They add no value.
Comments are actually provided for each operation within
qmp_ufs_power_off which actually facilitate understanding of all actions
performed by the function which may not be fully clear by code. Hence
I thought to keep the comments. But If you insist i'll remove.
Thanks.
Nitin
>
> - Mani
>
Powered by blists - more mailing lists