Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save lovesegfault/dbab7e0ec505b11c26a84fc73b9bbe44 to your computer and use it in GitHub Desktop.
Save lovesegfault/dbab7e0ec505b11c26a84fc73b9bbe44 to your computer and use it in GitHub Desktop.
commit a895f977cc7c7df9ee41fd1f2b21a15635a632e2
Author: Bernardo Meurer <[email protected]>
Date: Thu Apr 30 12:08:32 2020 -0700
b681472f15f5e5c61653edd00ee4c297620a026b.patch
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
index c578deb5867a..16d0c5dc73b2 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
@@ -1988,8 +1988,18 @@ gf100_gr_init_(struct nvkm_gr *base)
{
struct gf100_gr *gr = gf100_gr(base);
struct nvkm_subdev *subdev = &base->engine.subdev;
+ struct nvkm_device *device = subdev->device;
u32 ret;
+ /* did you try turning it off and on again? Apparently we need this
+ * on pascal, otherwise secboot will just fail.
+ */
+ nvkm_mask(device, 0x200, 0x1000, 0x0000);
+ nvkm_rd32(device, 0x200);
+ msleep(50);
+ nvkm_mask(device, 0x200, 0x1000, 0x1000);
+ nvkm_rd32(device, 0x200);
+
nvkm_pmu_pgob(gr->base.engine.subdev.device->pmu, false);
ret = nvkm_falcon_get(gr->fecs.falcon, subdev);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment