summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJérôme Glisse <jglisse@redhat.com>2018-03-09 14:08:21 -0500
committerJérôme Glisse <jglisse@redhat.com>2018-03-21 21:19:42 -0400
commitae75db13f71bb851913def6f4ddb94d976476931 (patch)
tree29d0d3b1b5e58f8b07e9dc91e224df9f22f3093f
parent4c20933308a5fbb48082d23f49229cf5379fbeca (diff)
gr: did you try turning it off and on again.
Fixes secure boot on my gp107. No idea why. Signed-off-by: Karol Herbst <kherbst@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
index 2f8dc107047d..322d9fa6ee43 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
@@ -1731,8 +1731,15 @@ 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_mask(device, 0x200, 0x1000, 0x1000);
+
nvkm_pmu_pgob(gr->base.engine.subdev.device->pmu, false);
ret = nvkm_falcon_get(gr->fecs, subdev);