Skip to content

Commit 93d883f

Browse files
Richard Zhubjorn-helgaas
authored andcommitted
PCI: imx6: Add missing reference clock disable logic
Ensure the *_enable_ref_clk() function is symmetric by addressing missing disable parts on some platforms. Fixes: d0a75c7 ("PCI: imx6: Factor out ref clock disable to match enable") Link: https://lore.kernel.org/r/20241126075702.4099164-7-hongxing.zhu@nxp.com Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Frank Li <Frank.Li@nxp.com>
1 parent ef61c7d commit 93d883f

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

drivers/pci/controller/dwc/pci-imx6.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -600,10 +600,9 @@ static int imx_pcie_attach_pd(struct device *dev)
600600

601601
static int imx6sx_pcie_enable_ref_clk(struct imx_pcie *imx_pcie, bool enable)
602602
{
603-
if (enable)
604-
regmap_clear_bits(imx_pcie->iomuxc_gpr, IOMUXC_GPR12,
605-
IMX6SX_GPR12_PCIE_TEST_POWERDOWN);
606-
603+
regmap_update_bits(imx_pcie->iomuxc_gpr, IOMUXC_GPR12,
604+
IMX6SX_GPR12_PCIE_TEST_POWERDOWN,
605+
enable ? 0 : IMX6SX_GPR12_PCIE_TEST_POWERDOWN);
607606
return 0;
608607
}
609608

@@ -632,19 +631,20 @@ static int imx8mm_pcie_enable_ref_clk(struct imx_pcie *imx_pcie, bool enable)
632631
{
633632
int offset = imx_pcie_grp_offset(imx_pcie);
634633

635-
if (enable) {
636-
regmap_clear_bits(imx_pcie->iomuxc_gpr, offset, IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE);
637-
regmap_set_bits(imx_pcie->iomuxc_gpr, offset, IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE_EN);
638-
}
639-
634+
regmap_update_bits(imx_pcie->iomuxc_gpr, offset,
635+
IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE,
636+
enable ? 0 : IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE);
637+
regmap_update_bits(imx_pcie->iomuxc_gpr, offset,
638+
IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE_EN,
639+
enable ? IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE_EN : 0);
640640
return 0;
641641
}
642642

643643
static int imx7d_pcie_enable_ref_clk(struct imx_pcie *imx_pcie, bool enable)
644644
{
645-
if (!enable)
646-
regmap_set_bits(imx_pcie->iomuxc_gpr, IOMUXC_GPR12,
647-
IMX7D_GPR12_PCIE_PHY_REFCLK_SEL);
645+
regmap_update_bits(imx_pcie->iomuxc_gpr, IOMUXC_GPR12,
646+
IMX7D_GPR12_PCIE_PHY_REFCLK_SEL,
647+
enable ? 0 : IMX7D_GPR12_PCIE_PHY_REFCLK_SEL);
648648
return 0;
649649
}
650650

0 commit comments

Comments
 (0)