PCI: kirin: Disable clkreq during poweroff sequence
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 21 Oct 2021 10:45:18 +0000 (11:45 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 4 Nov 2021 19:34:23 +0000 (14:34 -0500)
The logic at kirin_pcie_gpio_request() enables some clkreq GPIO lines.
Disable them during power-off.

Link: https://lore.kernel.org/r/f403e590843de1a581cade2d534d34715706f54e.1634812676.git.mchehab+huawei@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Xiaowei Song <songxiaowei@hisilicon.com>
drivers/pci/controller/dwc/pcie-kirin.c

index 5ebdf1b..1878c91 100644 (file)
@@ -688,6 +688,9 @@ static int kirin_pcie_power_off(struct kirin_pcie *kirin_pcie)
        if (kirin_pcie->type == PCIE_KIRIN_INTERNAL_PHY)
                return hi3660_pcie_phy_power_off(kirin_pcie);
 
+       for (i = 0; i < kirin_pcie->n_gpio_clkreq; i++)
+               gpio_direction_output(kirin_pcie->gpio_id_clkreq[i], 1);
+
        phy_power_off(kirin_pcie->phy);
        phy_exit(kirin_pcie->phy);