forked from mirrors/linux
		
	PCI: imx6: Factor out ref clock disable to match enable
The PCIe ref clocks are specific to different variants. The enables are already split out into imx6_pcie_enable_ref_clk(), but the disables were combined with the more generic bus/phy/pcie clock disables in imx6_pcie_clk_disable(). Split out the variant-specific disables into imx6_pcie_disable_ref_clk() to match imx6_pcie_enable_ref_clk(). No functional change intended. Link: https://lore.kernel.org/r/1657783869-19194-6-git-send-email-hongxing.zhu@nxp.com Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Acked-by: Richard Zhu <hongxing.zhu@nxp.com>
This commit is contained in:
		
							parent
							
								
									34b1b90225
								
							
						
					
					
						commit
						d0a75c791f
					
				
					 1 changed files with 10 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -580,12 +580,8 @@ static int imx6_pcie_enable_ref_clk(struct imx6_pcie *imx6_pcie)
 | 
			
		|||
	return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void imx6_pcie_clk_disable(struct imx6_pcie *imx6_pcie)
 | 
			
		||||
static void imx6_pcie_disable_ref_clk(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);
 | 
			
		||||
| 
						 | 
				
			
			@ -595,8 +591,8 @@ static void imx6_pcie_clk_disable(struct imx6_pcie *imx6_pcie)
 | 
			
		|||
				   IMX7D_GPR12_PCIE_PHY_REFCLK_SEL,
 | 
			
		||||
				   IMX7D_GPR12_PCIE_PHY_REFCLK_SEL);
 | 
			
		||||
		break;
 | 
			
		||||
	case IMX8MQ:
 | 
			
		||||
	case IMX8MM:
 | 
			
		||||
	case IMX8MQ:
 | 
			
		||||
		clk_disable_unprepare(imx6_pcie->pcie_aux);
 | 
			
		||||
		break;
 | 
			
		||||
	default:
 | 
			
		||||
| 
						 | 
				
			
			@ -604,6 +600,14 @@ static void imx6_pcie_clk_disable(struct imx6_pcie *imx6_pcie)
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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);
 | 
			
		||||
	imx6_pcie_disable_ref_clk(imx6_pcie);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void imx6_pcie_assert_core_reset(struct imx6_pcie *imx6_pcie)
 | 
			
		||||
{
 | 
			
		||||
	struct device *dev = imx6_pcie->pci->dev;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue