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

Hongxing Zhu hongxing.zhu at nxp.com
Sun Nov 14 23:05:08 PST 2021


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 at nxp.com>
> Sent: Monday, November 1, 2021 2:18 PM
> To: l.stach at pengutronix.de; bhelgaas at google.com; broonie at kernel.org;
> lorenzo.pieralisi at arm.com; jingoohan1 at gmail.com
> Cc: linux-pci at vger.kernel.org; dl-linux-imx <linux-imx at nxp.com>;
> linux-arm-kernel at lists.infradead.org; linux-kernel at vger.kernel.org;
> kernel at pengutronix.de; Richard Zhu <hongxing.zhu at nxp.com>
> 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 at nxp.com>
> ---
>  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




More information about the linux-arm-kernel mailing list