This is needed for using Nouveaus PMU image after performing secboot. This will
be helpfull for Maxwell2 reclocking on boards without externally controlled
fans like on most laptops or fanless boards.

Signed-off-by: Karol Herbst <karolher...@gmail.com>
---
 drm/nouveau/nvkm/subdev/secboot/acr_r352.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drm/nouveau/nvkm/subdev/secboot/acr_r352.c 
b/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
index a7213542..00095ef8 100644
--- a/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
+++ b/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
@@ -924,6 +924,19 @@ acr_r352_bootstrap(struct acr_r352 *acr, struct 
nvkm_secboot *sb)
                }
        }
 
+       /* reset the PMU if needed */
+       if (acr->base.boot_falcon == NVKM_SECBOOT_FALCON_PMU &&
+           !nvkm_secboot_is_managed(sb, NVKM_SECBOOT_FALCON_PMU)) {
+               struct nvkm_pmu *pmu = subdev->device->pmu;
+               if (pmu) {
+                       ret = nvkm_subdev_init(&pmu->subdev);
+                       if (ret < 0) {
+                               nvkm_error(subdev, "Failed to reset PMU\n");
+                               return ret;
+                       }
+               }
+       }
+
        return 0;
 }
 
-- 
2.13.2

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

Reply via email to