2022-07-01 03:45:14

by Richard Zhu

[permalink] [raw]
Subject: [PATCH v14 15/17] PCI: imx6: Disable clocks in reverse order of enable

From: Bjorn Helgaas <[email protected]>

imx6_pcie_clk_enable() enables clocks in the order:

pcie_phy
pcie_bus
pcie
imx6_pcie_enable_ref_clk

Change imx6_pcie_clk_disable() to disable them in the reverse order.

Signed-off-by: Bjorn Helgaas <[email protected]>
Acked-by: Richard Zhu <[email protected]>
---
drivers/pci/controller/dwc/pci-imx6.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index 0b2a5256fb0d..79a05e190016 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -655,10 +655,10 @@ static int imx6_pcie_clk_enable(struct imx6_pcie *imx6_pcie)

static void imx6_pcie_clk_disable(struct imx6_pcie *imx6_pcie)
{
+ imx6_pcie_disable_ref_clk(imx6_pcie);
clk_disable_unprepare(imx6_pcie->pcie);
- clk_disable_unprepare(imx6_pcie->pcie_phy);
clk_disable_unprepare(imx6_pcie->pcie_bus);
- imx6_pcie_disable_ref_clk(imx6_pcie);
+ clk_disable_unprepare(imx6_pcie->pcie_phy);
}

static void imx6_pcie_assert_core_reset(struct imx6_pcie *imx6_pcie)
--
2.25.1


2022-07-13 09:45:33

by Lucas Stach

[permalink] [raw]
Subject: Re: [PATCH v14 15/17] PCI: imx6: Disable clocks in reverse order of enable

Am Freitag, dem 01.07.2022 um 11:25 +0800 schrieb Richard Zhu:
> From: Bjorn Helgaas <[email protected]>
>
> imx6_pcie_clk_enable() enables clocks in the order:
>
> pcie_phy
> pcie_bus
> pcie
> imx6_pcie_enable_ref_clk
>
> Change imx6_pcie_clk_disable() to disable them in the reverse order.
>
> Signed-off-by: Bjorn Helgaas <[email protected]>
> Acked-by: Richard Zhu <[email protected]>

Reviewed-by: Lucas Stach <[email protected]>

> ---
> drivers/pci/controller/dwc/pci-imx6.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 0b2a5256fb0d..79a05e190016 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -655,10 +655,10 @@ static int imx6_pcie_clk_enable(struct imx6_pcie *imx6_pcie)
>
> static void imx6_pcie_clk_disable(struct imx6_pcie *imx6_pcie)
> {
> + imx6_pcie_disable_ref_clk(imx6_pcie);
> clk_disable_unprepare(imx6_pcie->pcie);
> - clk_disable_unprepare(imx6_pcie->pcie_phy);
> clk_disable_unprepare(imx6_pcie->pcie_bus);
> - imx6_pcie_disable_ref_clk(imx6_pcie);
> + clk_disable_unprepare(imx6_pcie->pcie_phy);
> }
>
> static void imx6_pcie_assert_core_reset(struct imx6_pcie *imx6_pcie)