Alexandre Courbot
2016-Mar-09 09:37 UTC
[Nouveau] [PATCH] secboot/gm200: fix suspend/resume
The state of the falcons was not properly updated after running the
unload ACR, which caused it to be run again (and thus fail) when
nvkm_secboot_fini() was called during resume.
Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
---
Ben, please feel free to squash this into the gm200 secboot implementation
patch - this fixes a bug that should not have been here to begin with.
drm/nouveau/nvkm/subdev/secboot/gm200.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drm/nouveau/nvkm/subdev/secboot/gm200.c
b/drm/nouveau/nvkm/subdev/secboot/gm200.c
index 137c821213bb..cc100dc940ea 100644
--- a/drm/nouveau/nvkm/subdev/secboot/gm200.c
+++ b/drm/nouveau/nvkm/subdev/secboot/gm200.c
@@ -1335,6 +1335,7 @@ gm200_secboot_fini(struct nvkm_secboot *sb, bool suspend)
{
struct gm200_secboot *gsb = gm200_secboot(sb);
int ret = 0;
+ int i;
/* Run the unload blob to unprotect the WPR region */
if (gsb->acr_unload_blob &&
@@ -1342,6 +1343,9 @@ gm200_secboot_fini(struct nvkm_secboot *sb, bool suspend)
ret = gm200_secboot_run_hs_blob(gsb, gsb->acr_unload_blob,
&gsb->acr_unload_bl_desc);
+ for (i = 0; i < NVKM_SECBOOT_FALCON_END; i++)
+ gsb->falcon_state[i] = NON_SECURE;
+
return ret;
}
--
2.7.2
Seemingly Similar Threads
- [PATCH v3 07/15] secboot: generate HS BL descriptor in hook
- [PATCH v3 10/11] secboot/gm200: add secure-boot support
- [PATCH] secboot/gm200: use proper memory target function
- [PATCH v3 10/15] secboot: split reset function
- [PATCH 03/11] drm/nouveau: secboot: Read WPR configuration from GPU registers
