[Nouveau] [PATCH 3/3] pci/gk104: wait for ltssm idle before changing the link
Karol Herbst
kherbst at redhat.com
Thu Sep 12 19:00:28 UTC 2019
taken from nvgpu
Signed-off-by: Karol Herbst <kherbst at 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
More information about the Nouveau
mailing list