Skip to content

Commit

Permalink
PCI: aardvark: Disable link training when unbinding driver
Browse files Browse the repository at this point in the history
commit 759dec2 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>
  • Loading branch information
pali authored and gregkh committed May 12, 2022
1 parent 246a36b commit a346d08
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions drivers/pci/controller/pci-aardvark.c
Expand Up @@ -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);
Expand Down

0 comments on commit a346d08

Please sign in to comment.