Commit a7abf50d authored by Svyatoslav Ryhel's avatar Svyatoslav Ryhel Committed by Greg Kroah-Hartman
Browse files

usb: phy: tegra: return error value from utmi_wait_register



Return exact error value from utmi_wait_register during HSIC power on.

Signed-off-by: default avatarSvyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: default avatarMikko Perttunen <mperttunen@nvidia.com>
Link: https://patch.msgid.link/20260202080526.23487-3-clamor95@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent aacad391
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -891,6 +891,7 @@ static int uhsic_phy_power_on(struct tegra_usb_phy *phy)
	struct tegra_utmip_config *config = phy->config;
	void __iomem *base = phy->regs;
	u32 val;
	int err = 0;

	val = tegra_hsic_readl(phy, UHSIC_PADS_CFG1);
	val &= ~(UHSIC_PD_BG | UHSIC_PD_TX | UHSIC_PD_TRK | UHSIC_PD_RX |
@@ -984,12 +985,14 @@ static int uhsic_phy_power_on(struct tegra_usb_phy *phy)
	val |= UHSIC_TX_RTUNE(phy->soc_config->uhsic_tx_rtune);
	tegra_hsic_writel(phy, UHSIC_PADS_CFG0, val);

	if (utmi_wait_register(base + USB_SUSP_CTRL, USB_PHY_CLK_VALID,
			       USB_PHY_CLK_VALID))
	err = utmi_wait_register(base + USB_SUSP_CTRL, USB_PHY_CLK_VALID,
				 USB_PHY_CLK_VALID);

	if (err)
		dev_err(phy->u_phy.dev,
			"Timeout waiting for PHY to stabilize on enable (HSIC)\n");

	return 0;
	return err;
}

static int uhsic_phy_power_off(struct tegra_usb_phy *phy)