aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-tegra/pcie.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/pcie.c')
-rw-r--r--arch/arm/mach-tegra/pcie.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c
index 3463fb5b79c7..a8dba6489c9b 100644
--- a/arch/arm/mach-tegra/pcie.c
+++ b/arch/arm/mach-tegra/pcie.c
@@ -352,17 +352,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0bf1, tegra_pcie_fixup_class);
352/* Tegra PCIE requires relaxed ordering */ 352/* Tegra PCIE requires relaxed ordering */
353static void __devinit tegra_pcie_relax_enable(struct pci_dev *dev) 353static void __devinit tegra_pcie_relax_enable(struct pci_dev *dev)
354{ 354{
355 u16 val16; 355 pcie_capability_set_word(dev, PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_RELAX_EN);
356 int pos = pci_find_capability(dev, PCI_CAP_ID_EXP);
357
358 if (pos <= 0) {
359 dev_err(&dev->dev, "skipping relaxed ordering fixup\n");
360 return;
361 }
362
363 pci_read_config_word(dev, pos + PCI_EXP_DEVCTL, &val16);
364 val16 |= PCI_EXP_DEVCTL_RELAX_EN;
365 pci_write_config_word(dev, pos + PCI_EXP_DEVCTL, val16);
366} 356}
367DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, tegra_pcie_relax_enable); 357DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, tegra_pcie_relax_enable);
368 358