Merge tag 'io_uring-5.15-2021-09-11' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / drivers / pci / controller / cadence / pcie-cadence.c
index 3c36465..52767f2 100644 (file)
@@ -7,6 +7,22 @@
 
 #include "pcie-cadence.h"
 
+void cdns_pcie_detect_quiet_min_delay_set(struct cdns_pcie *pcie)
+{
+       u32 delay = 0x3;
+       u32 ltssm_control_cap;
+
+       /*
+        * Set the LTSSM Detect Quiet state min. delay to 2ms.
+        */
+       ltssm_control_cap = cdns_pcie_readl(pcie, CDNS_PCIE_LTSSM_CONTROL_CAP);
+       ltssm_control_cap = ((ltssm_control_cap &
+                           ~CDNS_PCIE_DETECT_QUIET_MIN_DELAY_MASK) |
+                           CDNS_PCIE_DETECT_QUIET_MIN_DELAY(delay));
+
+       cdns_pcie_writel(pcie, CDNS_PCIE_LTSSM_CONTROL_CAP, ltssm_control_cap);
+}
+
 void cdns_pcie_set_outbound_region(struct cdns_pcie *pcie, u8 busnr, u8 fn,
                                   u32 r, bool is_io,
                                   u64 cpu_addr, u64 pci_addr, size_t size)