RE: [PATCH v4 3/6] PCI: imx6: PCI: imx6: Move imx6_pcie_clk_disable() earlier

From: Hongxing Zhu
Date: Mon Nov 15 2021 - 02:05:38 EST


Hi Lucas:
Can you help to take a look at this v4 series, and give your ack for other 4 patches of this patch-set if you're fine with them?
Thus, I can ping Lorenzo to help merge the v4 set firstly before the merger of the i.MX8MM PCIe support patches.
Thanks in advanced.

Best Regards
Richard Zhu

> -----Original Message-----
> From: Richard Zhu <hongxing.zhu@xxxxxxx>
> Sent: Monday, November 1, 2021 2:18 PM
> To: l.stach@xxxxxxxxxxxxxx; bhelgaas@xxxxxxxxxx; broonie@xxxxxxxxxx;
> lorenzo.pieralisi@xxxxxxx; jingoohan1@xxxxxxxxx
> Cc: linux-pci@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>;
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> kernel@xxxxxxxxxxxxxx; Richard Zhu <hongxing.zhu@xxxxxxx>
> Subject: [PATCH v4 3/6] PCI: imx6: PCI: imx6: Move
> imx6_pcie_clk_disable() earlier
>
> Just move the imx6_pcie_clk_disable() to an earlier place without
> function changes, since it wouldn't be only used in
> imx6_pcie_suspend_noirq() later.
>
> Signed-off-by: Richard Zhu <hongxing.zhu@xxxxxxx>
> ---
> drivers/pci/controller/dwc/pci-imx6.c | 46 +++++++++++++--------------
> 1 file changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c
> b/drivers/pci/controller/dwc/pci-imx6.c
> index 65a10b048a8b..11265c5e5782 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -514,6 +514,29 @@ static int imx6_pcie_clk_enable(struct
> imx6_pcie *imx6_pcie)
> return ret;
> }
>
> +static void imx6_pcie_clk_disable(struct imx6_pcie *imx6_pcie) {
> + clk_disable_unprepare(imx6_pcie->pcie);
> + clk_disable_unprepare(imx6_pcie->pcie_phy);
> + clk_disable_unprepare(imx6_pcie->pcie_bus);
> +
> + switch (imx6_pcie->drvdata->variant) {
> + case IMX6SX:
> + clk_disable_unprepare(imx6_pcie->pcie_inbound_axi);
> + break;
> + case IMX7D:
> + regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
> + IMX7D_GPR12_PCIE_PHY_REFCLK_SEL,
> + IMX7D_GPR12_PCIE_PHY_REFCLK_SEL);
> + break;
> + case IMX8MQ:
> + clk_disable_unprepare(imx6_pcie->pcie_aux);
> + break;
> + default:
> + break;
> + }
> +}
> +
> static void imx7d_pcie_wait_for_phy_pll_lock(struct imx6_pcie
> *imx6_pcie) {
> u32 val;
> @@ -940,29 +963,6 @@ static void imx6_pcie_pm_turnoff(struct
> imx6_pcie *imx6_pcie)
> usleep_range(1000, 10000);
> }
>
> -static void imx6_pcie_clk_disable(struct imx6_pcie *imx6_pcie) -{
> - clk_disable_unprepare(imx6_pcie->pcie);
> - clk_disable_unprepare(imx6_pcie->pcie_phy);
> - clk_disable_unprepare(imx6_pcie->pcie_bus);
> -
> - switch (imx6_pcie->drvdata->variant) {
> - case IMX6SX:
> - clk_disable_unprepare(imx6_pcie->pcie_inbound_axi);
> - break;
> - case IMX7D:
> - regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
> - IMX7D_GPR12_PCIE_PHY_REFCLK_SEL,
> - IMX7D_GPR12_PCIE_PHY_REFCLK_SEL);
> - break;
> - case IMX8MQ:
> - clk_disable_unprepare(imx6_pcie->pcie_aux);
> - break;
> - default:
> - break;
> - }
> -}
> -
> static int imx6_pcie_suspend_noirq(struct device *dev) {
> struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
> --
> 2.25.1