diff options
author | Pali Rohár <[email protected]> | 2021-11-30 18:29:12 +0100 |
---|---|---|
committer | Lorenzo Pieralisi <[email protected]> | 2021-12-02 09:55:49 +0000 |
commit | 759dec2e3dfdbd261c41d2279f04f2351c971a49 (patch) | |
tree | 7d1249306fede80390c761ff61b319162a88942d | |
parent | 1f54391be8ce0c981d312cb93acdc5608def576a (diff) |
PCI: aardvark: Disable link training when unbinding driver
Disable link training circuit in driver unbind sequence. We want to
leave link training in the same state as it was before the driver was
probed.
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Pali Rohár <[email protected]>
Signed-off-by: Marek Behún <[email protected]>
Signed-off-by: Lorenzo Pieralisi <[email protected]>
-rw-r--r-- | drivers/pci/controller/pci-aardvark.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c index 271ebecee965..e5c88f1c177b 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -1741,6 +1741,11 @@ static int advk_pcie_remove(struct platform_device *pdev) if (pcie->reset_gpio) gpiod_set_value_cansleep(pcie->reset_gpio, 1); + /* Disable link training */ + val = advk_readl(pcie, PCIE_CORE_CTRL0_REG); + val &= ~LINK_TRAINING_EN; + advk_writel(pcie, val, PCIE_CORE_CTRL0_REG); + /* Disable outbound address windows mapping */ for (i = 0; i < OB_WIN_COUNT; i++) advk_pcie_disable_ob_win(pcie, i); |