drm/nouveau/secboot/gm20b: enable PMU firmware
authorAlexandre Courbot <acourbot@nvidia.com>
Wed, 26 Oct 2016 04:08:14 +0000 (13:08 +0900)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 7 Mar 2017 07:05:12 +0000 (17:05 +1000)
Enable the PMU firmware in gm20b, managed by secure boot.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c

index 6707b8edc086c819c7188cb8211428f482ac9316..29e6f73dfd7e76482b96537a0886444c37e76319 100644 (file)
@@ -107,9 +107,12 @@ gm20b_secboot_new(struct nvkm_device *device, int index,
        struct gm200_secboot *gsb;
        struct nvkm_acr *acr;
 
-       acr = acr_r352_new(BIT(NVKM_SECBOOT_FALCON_FECS));
+       acr = acr_r352_new(BIT(NVKM_SECBOOT_FALCON_FECS) |
+                          BIT(NVKM_SECBOOT_FALCON_PMU));
        if (IS_ERR(acr))
                return PTR_ERR(acr);
+       /* Support the initial GM20B firmware release without PMU */
+       acr->optional_falcons = BIT(NVKM_SECBOOT_FALCON_PMU);
 
        gsb = kzalloc(sizeof(*gsb), GFP_KERNEL);
        if (!gsb) {
@@ -137,3 +140,6 @@ MODULE_FIRMWARE("nvidia/gm20b/gr/sw_ctx.bin");
 MODULE_FIRMWARE("nvidia/gm20b/gr/sw_nonctx.bin");
 MODULE_FIRMWARE("nvidia/gm20b/gr/sw_bundle_init.bin");
 MODULE_FIRMWARE("nvidia/gm20b/gr/sw_method_init.bin");
+MODULE_FIRMWARE("nvidia/gm20b/pmu/desc.bin");
+MODULE_FIRMWARE("nvidia/gm20b/pmu/image.bin");
+MODULE_FIRMWARE("nvidia/gm20b/pmu/sig.bin");