taken from nvgpu

Signed-off-by: Karol Herbst <kher...@redhat.com>
---
 drm/nouveau/nvkm/subdev/pci/gk104.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drm/nouveau/nvkm/subdev/pci/gk104.c 
b/drm/nouveau/nvkm/subdev/pci/gk104.c
index 6aeb07fe4..2d1fa67eb 100644
--- a/drm/nouveau/nvkm/subdev/pci/gk104.c
+++ b/drm/nouveau/nvkm/subdev/pci/gk104.c
@@ -23,6 +23,8 @@
  */
 #include "priv.h"
 
+#include <subdev/timer.h>
+
 static int
 gk104_pcie_version_supported(struct nvkm_pci *pci)
 {
@@ -142,6 +144,11 @@ gk104_pcie_set_link_speed(struct nvkm_pci *pci, enum 
nvkm_pcie_speed speed)
                break;
        }
 
+       /* wait for ltssm idle */
+       nvkm_msec(device, 200,
+               if ((nvkm_rd32(device, 0x8c040) & 0x1f) == 0)
+                       break;
+       );
        nvkm_mask(device, 0x8c040, 0xc0000, mask_value);
        nvkm_mask(device, 0x8c040, 0x1, 0x1);
 }
-- 
2.21.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to