* [PATCH V2 0/2] Disable periodic tracking on Tegra234
@ 2025-05-19 9:09 Wayne Chang
2025-05-19 9:09 ` [PATCH V2 1/2] phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode Wayne Chang
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Wayne Chang @ 2025-05-19 9:09 UTC (permalink / raw)
To: waynec, jckuo, vkoul, kishon, thierry.reding, jonathanh
Cc: linux-phy, linux-tegra, linux-kernel
Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode and disable
periodic tracking on Tegra234
Haotien Hsu (1):
phy: tegra: xusb: Disable periodic tracking on Tegra234
Wayne Chang (1):
phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from
trk_hw_mode
drivers/phy/tegra/xusb-tegra186.c | 16 +++++++++-------
drivers/phy/tegra/xusb.h | 1 +
2 files changed, 10 insertions(+), 7 deletions(-)
base-commit: a5806cd506af5a7c19bcd596e4708b5c464bfd21
--
2.25.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH V2 1/2] phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode
2025-05-19 9:09 [PATCH V2 0/2] Disable periodic tracking on Tegra234 Wayne Chang
@ 2025-05-19 9:09 ` Wayne Chang
2025-05-19 9:09 ` [PATCH V2 2/2] phy: tegra: xusb: Disable periodic tracking on Tegra234 Wayne Chang
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Wayne Chang @ 2025-05-19 9:09 UTC (permalink / raw)
To: waynec, jckuo, vkoul, kishon, thierry.reding, jonathanh
Cc: linux-phy, linux-tegra, linux-kernel, stable
The logic that drives the pad calibration values resides in the
controller reset domain and so the calibration values are only being
captured when the controller is out of reset. However, by clearing the
CYA_TRK_CODE_UPDATE_ON_IDLE bit, the calibration values can be set
while the controller is in reset.
The CYA_TRK_CODE_UPDATE_ON_IDLE bit was previously cleared based on the
trk_hw_mode flag, but this dependency is not necessary. Instead,
introduce a new flag, trk_update_on_idle, to independently control this
bit.
Fixes: d8163a32ca95 ("phy: tegra: xusb: Add Tegra234 support")
Cc: stable@vger.kernel.org
Signed-off-by: Wayne Chang <waynec@nvidia.com>
---
V1->V2: Rebased the commit
drivers/phy/tegra/xusb-tegra186.c | 14 ++++++++------
drivers/phy/tegra/xusb.h | 1 +
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/phy/tegra/xusb-tegra186.c b/drivers/phy/tegra/xusb-tegra186.c
index 23a23f2d64e5..683692f0ec3c 100644
--- a/drivers/phy/tegra/xusb-tegra186.c
+++ b/drivers/phy/tegra/xusb-tegra186.c
@@ -648,14 +648,15 @@ static void tegra186_utmi_bias_pad_power_on(struct tegra_xusb_padctl *padctl)
udelay(100);
}
- if (padctl->soc->trk_hw_mode) {
- value = padctl_readl(padctl, XUSB_PADCTL_USB2_BIAS_PAD_CTL2);
- value |= USB2_TRK_HW_MODE;
+ value = padctl_readl(padctl, XUSB_PADCTL_USB2_BIAS_PAD_CTL2);
+ if (padctl->soc->trk_update_on_idle)
value &= ~CYA_TRK_CODE_UPDATE_ON_IDLE;
- padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL2);
- } else {
+ if (padctl->soc->trk_hw_mode)
+ value |= USB2_TRK_HW_MODE;
+ padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL2);
+
+ if (!padctl->soc->trk_hw_mode)
clk_disable_unprepare(priv->usb2_trk_clk);
- }
}
static void tegra186_utmi_bias_pad_power_off(struct tegra_xusb_padctl *padctl)
@@ -1711,6 +1712,7 @@ const struct tegra_xusb_padctl_soc tegra234_xusb_padctl_soc = {
.supports_gen2 = true,
.poll_trk_completed = true,
.trk_hw_mode = true,
+ .trk_update_on_idle = true,
.supports_lp_cfg_en = true,
};
EXPORT_SYMBOL_GPL(tegra234_xusb_padctl_soc);
diff --git a/drivers/phy/tegra/xusb.h b/drivers/phy/tegra/xusb.h
index 6e45d194c689..d2b5f9565132 100644
--- a/drivers/phy/tegra/xusb.h
+++ b/drivers/phy/tegra/xusb.h
@@ -434,6 +434,7 @@ struct tegra_xusb_padctl_soc {
bool need_fake_usb3_port;
bool poll_trk_completed;
bool trk_hw_mode;
+ bool trk_update_on_idle;
bool supports_lp_cfg_en;
};
--
2.25.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH V2 2/2] phy: tegra: xusb: Disable periodic tracking on Tegra234
2025-05-19 9:09 [PATCH V2 0/2] Disable periodic tracking on Tegra234 Wayne Chang
2025-05-19 9:09 ` [PATCH V2 1/2] phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode Wayne Chang
@ 2025-05-19 9:09 ` Wayne Chang
2025-05-20 12:06 ` [PATCH V2 0/2] " Jon Hunter
2025-06-15 16:52 ` Vinod Koul
3 siblings, 0 replies; 6+ messages in thread
From: Wayne Chang @ 2025-05-19 9:09 UTC (permalink / raw)
To: waynec, jckuo, vkoul, kishon, thierry.reding, jonathanh
Cc: linux-phy, linux-tegra, linux-kernel, Haotien Hsu, stable
From: Haotien Hsu <haotienh@nvidia.com>
Periodic calibration updates (~10µs) may overlap with transfers when
PCIe NVMe SSD, LPDDR, and USB2 devices operate simultaneously, causing
crosstalk on Tegra234 devices. Hence disable periodic calibration updates
and make this a one-time calibration.
Fixes: d8163a32ca95 ("phy: tegra: xusb: Add Tegra234 support")
Cc: stable@vger.kernel.org
Signed-off-by: Haotien Hsu <haotienh@nvidia.com>
Signed-off-by: Wayne Chang <waynec@nvidia.com>
---
V1->V2: Rebased the commit
drivers/phy/tegra/xusb-tegra186.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/phy/tegra/xusb-tegra186.c b/drivers/phy/tegra/xusb-tegra186.c
index 683692f0ec3c..ba668c77457f 100644
--- a/drivers/phy/tegra/xusb-tegra186.c
+++ b/drivers/phy/tegra/xusb-tegra186.c
@@ -1711,7 +1711,7 @@ const struct tegra_xusb_padctl_soc tegra234_xusb_padctl_soc = {
.num_supplies = ARRAY_SIZE(tegra194_xusb_padctl_supply_names),
.supports_gen2 = true,
.poll_trk_completed = true,
- .trk_hw_mode = true,
+ .trk_hw_mode = false,
.trk_update_on_idle = true,
.supports_lp_cfg_en = true,
};
--
2.25.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V2 0/2] Disable periodic tracking on Tegra234
2025-05-19 9:09 [PATCH V2 0/2] Disable periodic tracking on Tegra234 Wayne Chang
2025-05-19 9:09 ` [PATCH V2 1/2] phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode Wayne Chang
2025-05-19 9:09 ` [PATCH V2 2/2] phy: tegra: xusb: Disable periodic tracking on Tegra234 Wayne Chang
@ 2025-05-20 12:06 ` Jon Hunter
2025-06-10 13:46 ` Jon Hunter
2025-06-15 16:52 ` Vinod Koul
3 siblings, 1 reply; 6+ messages in thread
From: Jon Hunter @ 2025-05-20 12:06 UTC (permalink / raw)
To: Wayne Chang, jckuo, vkoul, kishon, thierry.reding
Cc: linux-phy, linux-tegra, linux-kernel
On 19/05/2025 10:09, Wayne Chang wrote:
> Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode and disable
> periodic tracking on Tegra234
>
> Haotien Hsu (1):
> phy: tegra: xusb: Disable periodic tracking on Tegra234
>
> Wayne Chang (1):
> phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from
> trk_hw_mode
>
> drivers/phy/tegra/xusb-tegra186.c | 16 +++++++++-------
> drivers/phy/tegra/xusb.h | 1 +
> 2 files changed, 10 insertions(+), 7 deletions(-)
For the series ...
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Thanks!
Jon
--
nvpublic
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V2 0/2] Disable periodic tracking on Tegra234
2025-05-20 12:06 ` [PATCH V2 0/2] " Jon Hunter
@ 2025-06-10 13:46 ` Jon Hunter
0 siblings, 0 replies; 6+ messages in thread
From: Jon Hunter @ 2025-06-10 13:46 UTC (permalink / raw)
To: Wayne Chang, jckuo, vkoul, kishon, thierry.reding
Cc: linux-phy, linux-tegra, linux-kernel
Hi Vinod,
On 20/05/2025 13:06, Jon Hunter wrote:
>
> On 19/05/2025 10:09, Wayne Chang wrote:
>> Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode and disable
>> periodic tracking on Tegra234
>>
>> Haotien Hsu (1):
>> phy: tegra: xusb: Disable periodic tracking on Tegra234
>>
>> Wayne Chang (1):
>> phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from
>> trk_hw_mode
>>
>> drivers/phy/tegra/xusb-tegra186.c | 16 +++++++++-------
>> drivers/phy/tegra/xusb.h | 1 +
>> 2 files changed, 10 insertions(+), 7 deletions(-)
>
>
> For the series ...
>
> Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
> Tested-by: Jon Hunter <jonathanh@nvidia.com>
Can we get this into -next now?
Thanks!
Jon
--
nvpublic
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V2 0/2] Disable periodic tracking on Tegra234
2025-05-19 9:09 [PATCH V2 0/2] Disable periodic tracking on Tegra234 Wayne Chang
` (2 preceding siblings ...)
2025-05-20 12:06 ` [PATCH V2 0/2] " Jon Hunter
@ 2025-06-15 16:52 ` Vinod Koul
3 siblings, 0 replies; 6+ messages in thread
From: Vinod Koul @ 2025-06-15 16:52 UTC (permalink / raw)
To: jckuo, kishon, thierry.reding, jonathanh, Wayne Chang
Cc: linux-phy, linux-tegra, linux-kernel
On Mon, 19 May 2025 17:09:27 +0800, Wayne Chang wrote:
> Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode and disable
> periodic tracking on Tegra234
>
> Haotien Hsu (1):
> phy: tegra: xusb: Disable periodic tracking on Tegra234
>
> Wayne Chang (1):
> phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from
> trk_hw_mode
>
> [...]
Applied, thanks!
[1/2] phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode
commit: 24c63c590adca310e0df95c77cf7aa5552bc3fc5
[2/2] phy: tegra: xusb: Disable periodic tracking on Tegra234
commit: 7be54870e9bf5ed0b4fe2a23b41a630527882de5
Best regards,
--
~Vinod
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-06-15 16:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-19 9:09 [PATCH V2 0/2] Disable periodic tracking on Tegra234 Wayne Chang
2025-05-19 9:09 ` [PATCH V2 1/2] phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode Wayne Chang
2025-05-19 9:09 ` [PATCH V2 2/2] phy: tegra: xusb: Disable periodic tracking on Tegra234 Wayne Chang
2025-05-20 12:06 ` [PATCH V2 0/2] " Jon Hunter
2025-06-10 13:46 ` Jon Hunter
2025-06-15 16:52 ` Vinod Koul
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®