aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2016-12-14 17:02:50 +0900
committerBen Skeggs <bskeggs@redhat.com>2017-02-17 15:14:32 +1000
commit425c816a806230bcaf17ceb41faeb477f285f781 (patch)
tree87b2653f78cb484038207eb5fd3794cde6be49df /drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
parentdrm/nouveau/secboot: fix WPR descriptor generation (diff)
downloadlinux-dev-425c816a806230bcaf17ceb41faeb477f285f781.tar.xz
linux-dev-425c816a806230bcaf17ceb41faeb477f285f781.zip
drm/nouveau/secboot: add lazy-bootstrap flag
When the PMU firmware is present, the falcons it manages need to have the lazy-bootstrap flag of their WPR header set so the ACR does not boot them. Add support for this. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c b/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
index d4f04239b124..421cf78d2aa5 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
@@ -241,6 +241,10 @@ acr_r352_ls_img_fill_headers(struct acr_r352 *acr,
whdr->bootstrap_owner = acr->base.boot_falcon;
whdr->status = LSF_IMAGE_STATUS_COPY;
+ /* Skip bootstrapping falcons started by someone else than ACR */
+ if (acr->lazy_bootstrap & BIT(_img->falcon_id))
+ whdr->lazy_bootstrap = 1;
+
/* Align, save off, and include an LSB header size */
offset = ALIGN(offset, LSF_LSB_HEADER_ALIGN);
whdr->lsb_offset = offset;