diff options
| author | Pali Rohár <pali@kernel.org> | 2022-05-04 18:57:35 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-05-12 12:30:29 +0200 |
| commit | a346d08ca45e8475975187f5bab8540cb9ac75d2 (patch) | |
| tree | 1ffd82f242062fd4b72e8a881a997fc957d79c94 /drivers | |
| parent | 246a36b6637740f1be9c3cdd91f022b24b7402e7 (diff) | |
| download | linux-a346d08ca45e8475975187f5bab8540cb9ac75d2.tar.gz linux-a346d08ca45e8475975187f5bab8540cb9ac75d2.tar.bz2 linux-a346d08ca45e8475975187f5bab8540cb9ac75d2.zip | |
PCI: aardvark: Disable link training when unbinding driver
commit 759dec2e3dfdbd261c41d2279f04f2351c971a49 upstream.
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/20211130172913.9727-11-kabel@kernel.org
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
| -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 78bc57d57926..3f6919564434 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -1725,6 +1725,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); |
