[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <953eec87-e11a-4c32-9d28-1a156b2ec48d@nvidia.com>
Date: Fri, 5 Dec 2025 03:19:14 +0000
From: Wayne Chang <waynec@...dia.com>
To: Jui Chang Kuo <jckuo@...dia.com>, "vkoul@...nel.org" <vkoul@...nel.org>,
"kishon@...nel.org" <kishon@...nel.org>, "thierry.reding@...il.com"
<thierry.reding@...il.com>, Jon Hunter <jonathanh@...dia.com>
CC: HaoTien Hsu <haotienh@...dia.com>, "linux-phy@...ts.infradead.org"
<linux-phy@...ts.infradead.org>, "linux-tegra@...r.kernel.org"
<linux-tegra@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "stable@...r.kernel.org"
<stable@...r.kernel.org>
Subject: Re: [PATCH 1/1] phy: tegra: xusb: Fix UTMI AO sleepwalk trigger
programming sequence
Hi JC,
On 12/4/25 15:12, Jui Chang Kuo wrote:
> Hi Wayne
>
> On 12/3/25 10:47, Wayne Chang wrote:
>> From: Haotien Hsu <haotienh@...dia.com>
>>
>> The UTMIP sleepwalk programming sequence requires asserting both
>> LINEVAL_WALK_EN and WAKE_WALK_EN when enabling the sleepwalk logic.
>> However, the current code mistakenly cleared WAKE_WALK_EN, which
>> prevents the sleepwalk trigger from operating correctly.
>>
>> Fix this by asserting WAKE_WALK_EN together with LINEVAL_WALK_EN.
>>
>> Fixes: 1f9cab6cc20c ("phy: tegra: xusb: Add wake/sleepwalk for Tegra186")
>> Cc: stable@...r.kernel.org
>> Signed-off-by: Haotien Hsu <haotienh@...dia.com>
>> Signed-off-by: Wayne Chang <waynec@...dia.com>
>> ---
>> drivers/phy/tegra/xusb-tegra186.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/phy/tegra/xusb-tegra186.c b/drivers/phy/tegra/xusb-tegra186.c
>> index e818f6c3980e..b2a76710c0c4 100644
>> --- a/drivers/phy/tegra/xusb-tegra186.c
>> +++ b/drivers/phy/tegra/xusb-tegra186.c
>> @@ -401,8 +401,7 @@ static int tegra186_utmi_enable_phy_sleepwalk(struct tegra_xusb_lane *lane,
>>
>> /* enable the trigger of the sleepwalk logic */
>> value = ao_readl(priv, XUSB_AO_UTMIP_SLEEPWALK_CFG(index));
>> - value |= LINEVAL_WALK_EN;
>> - value &= ~WAKE_WALK_EN;
>> + value |= LINEVAL_WALK_EN | WAKE_WALK_EN;
>> ao_writel(priv, value, XUSB_AO_UTMIP_SLEEPWALK_CFG(index));
>>
>> /* reset the walk pointer and clear the alarm of the sleepwalk logic,
> WAKE_WALK_EN has to be set with '0' according to the ASIC designers. Tegra234
> and Tegra239 TRMs have been updated. We will get Tegra264 document updated as well.
Thanks for the review. Dropping the change.
>
> Thanks,
> JC
>
Powered by blists - more mailing lists