lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7666d6e3-9fd5-45aa-9a29-144514ab3533@nvidia.com>
Date: Wed, 7 May 2025 10:39:36 +0100
From: Jon Hunter <jonathanh@...dia.com>
To: Wayne Chang <waynec@...dia.com>, jckuo@...dia.com, vkoul@...nel.org,
 kishon@...nel.org, thierry.reding@...il.com
Cc: linux-phy@...ts.infradead.org, linux-tegra@...r.kernel.org,
 linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH 1/2] phy: tegra: xusb: Decouple
 CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode

Hi Wayne,

On 07/05/2025 03:48, Wayne Chang wrote:
> 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@...r.kernel.org
> Signed-off-by: Wayne Chang <waynec@...dia.com>
> ---
>   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 fae6242aa730..dd0aaf305e90 100644
> --- a/drivers/phy/tegra/xusb-tegra186.c
> +++ b/drivers/phy/tegra/xusb-tegra186.c
> @@ -650,14 +650,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);
> -	}
>   
>   	mutex_unlock(&padctl->lock);


Can we rebase this on top of the fix 'phy: tegra: xusb: remove a stray 
unlock'? This does not apply on top of that patch.

Thanks
Jon
-- 
nvpublic


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ