diff mbox series

pci: pcie_dw_meson: fix usb fail when pci link fails to go up

Message ID 20210908123212.382716-1-narmstrong@baylibre.com
State Accepted
Commit d6c10360dcb4c64ba0877f07bd860dc70db86ee8
Delegated to: Neil Armstrong
Headers show
Series pci: pcie_dw_meson: fix usb fail when pci link fails to go up | expand

Commit Message

Neil Armstrong Sept. 8, 2021, 12:32 p.m. UTC
On Amlogic A311D, when the PCIe link fails disabling the related clocks
makes USB fail. For an unknown reason, this doesn happen on the S905D3 SoC.

Mimic the Linux behavior by not considering a link failure a probe failure,
and continue even if the PCIe link is down.

Reported-by: Art Nikpal <email2tema@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
 drivers/pci/pcie_dw_meson.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

Comments

Bin Meng Sept. 8, 2021, 12:59 p.m. UTC | #1
On Wed, Sep 8, 2021 at 8:32 PM Neil Armstrong <narmstrong@baylibre.com> wrote:
>
> On Amlogic A311D, when the PCIe link fails disabling the related clocks
> makes USB fail. For an unknown reason, this doesn happen on the S905D3 SoC.
>
> Mimic the Linux behavior by not considering a link failure a probe failure,
> and continue even if the PCIe link is down.
>
> Reported-by: Art Nikpal <email2tema@gmail.com>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
>  drivers/pci/pcie_dw_meson.c | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Neil Armstrong Sept. 21, 2021, 7:27 a.m. UTC | #2
On 08/09/2021 14:32, Neil Armstrong wrote:
> On Amlogic A311D, when the PCIe link fails disabling the related clocks
> makes USB fail. For an unknown reason, this doesn happen on the S905D3 SoC.
> 
> Mimic the Linux behavior by not considering a link failure a probe failure,
> and continue even if the PCIe link is down.
> 
> Reported-by: Art Nikpal <email2tema@gmail.com>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
>  drivers/pci/pcie_dw_meson.c | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/drivers/pci/pcie_dw_meson.c b/drivers/pci/pcie_dw_meson.c
> index 0525ecbea6..07da9fa533 100644
> --- a/drivers/pci/pcie_dw_meson.c
> +++ b/drivers/pci/pcie_dw_meson.c
> @@ -319,15 +319,9 @@ static int meson_pcie_init_port(struct udevice *dev)
>  
>  	pcie_dw_setup_host(&priv->dw);
>  
> -	ret = meson_pcie_link_up(priv, LINK_SPEED_GEN_2);
> -	if (ret < 0)
> -		goto err_link_up;
> +	meson_pcie_link_up(priv, LINK_SPEED_GEN_2);
>  
>  	return 0;
> -err_link_up:
> -	clk_disable(&priv->clk_port);
> -	clk_disable(&priv->clk_general);
> -	clk_disable(&priv->clk_pclk);
>  err_deassert_bulk:
>  	reset_assert_bulk(&priv->rsts);
>  err_power_off_phy:
> 


Applied to u-boot-amlogic-next

Neil
diff mbox series

Patch

diff --git a/drivers/pci/pcie_dw_meson.c b/drivers/pci/pcie_dw_meson.c
index 0525ecbea6..07da9fa533 100644
--- a/drivers/pci/pcie_dw_meson.c
+++ b/drivers/pci/pcie_dw_meson.c
@@ -319,15 +319,9 @@  static int meson_pcie_init_port(struct udevice *dev)
 
 	pcie_dw_setup_host(&priv->dw);
 
-	ret = meson_pcie_link_up(priv, LINK_SPEED_GEN_2);
-	if (ret < 0)
-		goto err_link_up;
+	meson_pcie_link_up(priv, LINK_SPEED_GEN_2);
 
 	return 0;
-err_link_up:
-	clk_disable(&priv->clk_port);
-	clk_disable(&priv->clk_general);
-	clk_disable(&priv->clk_pclk);
 err_deassert_bulk:
 	reset_assert_bulk(&priv->rsts);
 err_power_off_phy: