2022-10-24 07:45:26

by Wayne Chang

[permalink] [raw]
Subject: [PATCH 08/11] phy: tegra: xusb: Disable trk clk when not using

The change fixes an issue that the pad tracking is a one-time calibration
for Tegra186 and Tegra194. We should disable the clk when it is done.
The 100us delay is for HW recording the calibration value.

Signed-off-by: Wayne Chang <[email protected]>
---
drivers/phy/tegra/xusb-tegra186.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/phy/tegra/xusb-tegra186.c b/drivers/phy/tegra/xusb-tegra186.c
index 0996ede63387..f121b4ffbbfd 100644
--- a/drivers/phy/tegra/xusb-tegra186.c
+++ b/drivers/phy/tegra/xusb-tegra186.c
@@ -609,6 +609,10 @@ static void tegra186_utmi_bias_pad_power_on(struct tegra_xusb_padctl *padctl)
value &= ~USB2_PD_TRK;
padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL1);

+ udelay(100);
+
+ clk_disable_unprepare(priv->usb2_trk_clk);
+
mutex_unlock(&padctl->lock);
}

@@ -633,8 +637,6 @@ static void tegra186_utmi_bias_pad_power_off(struct tegra_xusb_padctl *padctl)
value |= USB2_PD_TRK;
padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL1);

- clk_disable_unprepare(priv->usb2_trk_clk);
-
mutex_unlock(&padctl->lock);
}

--
2.25.1


2022-11-05 15:32:55

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH 08/11] phy: tegra: xusb: Disable trk clk when not using

On 24-10-22, 15:41, Wayne Chang wrote:

Consider revision of title to: "Disable trk clk when not in use"

> The change fixes an issue that the pad tracking is a one-time calibration
> for Tegra186 and Tegra194. We should disable the clk when it is done.
> The 100us delay is for HW recording the calibration value.

Consider:

"pad tracking is a one-time calibration for Tegra186 and Tegra194. clk
should be disabled after calibration.

Disable clk after claibration.

While at it add 100us delay HW recording the calibration

>
> Signed-off-by: Wayne Chang <[email protected]>
> ---
> drivers/phy/tegra/xusb-tegra186.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/phy/tegra/xusb-tegra186.c b/drivers/phy/tegra/xusb-tegra186.c
> index 0996ede63387..f121b4ffbbfd 100644
> --- a/drivers/phy/tegra/xusb-tegra186.c
> +++ b/drivers/phy/tegra/xusb-tegra186.c
> @@ -609,6 +609,10 @@ static void tegra186_utmi_bias_pad_power_on(struct tegra_xusb_padctl *padctl)
> value &= ~USB2_PD_TRK;
> padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL1);
>
> + udelay(100);
> +
> + clk_disable_unprepare(priv->usb2_trk_clk);
> +
> mutex_unlock(&padctl->lock);
> }
>
> @@ -633,8 +637,6 @@ static void tegra186_utmi_bias_pad_power_off(struct tegra_xusb_padctl *padctl)
> value |= USB2_PD_TRK;
> padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL1);
>
> - clk_disable_unprepare(priv->usb2_trk_clk);
> -
> mutex_unlock(&padctl->lock);
> }
>
> --
> 2.25.1

--
~Vinod

2022-11-07 10:59:58

by Wayne Chang

[permalink] [raw]
Subject: Re: [PATCH 08/11] phy: tegra: xusb: Disable trk clk when not using



On 11/5/22 22:58, Vinod Koul wrote:
> External email: Use caution opening links or attachments
>
>
> On 24-10-22, 15:41, Wayne Chang wrote:
>
> Consider revision of title to: "Disable trk clk when not in use"
>
>> The change fixes an issue that the pad tracking is a one-time calibration
>> for Tegra186 and Tegra194. We should disable the clk when it is done.
>> The 100us delay is for HW recording the calibration value.
>
> Consider:
>
> "pad tracking is a one-time calibration for Tegra186 and Tegra194. clk
> should be disabled after calibration.
>
> Disable clk after claibration.
>
> While at it add 100us delay HW recording the calibration
>

Thanks for the review.
I'll update the title and commit message in the next patch series.

thanks,
Wayne.

>>
>> Signed-off-by: Wayne Chang <[email protected]>
>> ---
>> drivers/phy/tegra/xusb-tegra186.c | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/phy/tegra/xusb-tegra186.c b/drivers/phy/tegra/xusb-tegra186.c
>> index 0996ede63387..f121b4ffbbfd 100644
>> --- a/drivers/phy/tegra/xusb-tegra186.c
>> +++ b/drivers/phy/tegra/xusb-tegra186.c
>> @@ -609,6 +609,10 @@ static void tegra186_utmi_bias_pad_power_on(struct tegra_xusb_padctl *padctl)
>> value &= ~USB2_PD_TRK;
>> padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL1);
>>
>> + udelay(100);
>> +
>> + clk_disable_unprepare(priv->usb2_trk_clk);
>> +
>> mutex_unlock(&padctl->lock);
>> }
>>
>> @@ -633,8 +637,6 @@ static void tegra186_utmi_bias_pad_power_off(struct tegra_xusb_padctl *padctl)
>> value |= USB2_PD_TRK;
>> padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL1);
>>
>> - clk_disable_unprepare(priv->usb2_trk_clk);
>> -
>> mutex_unlock(&padctl->lock);
>> }
>>
>> --
>> 2.25.1
>
> --
> ~Vinod