aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/include/nvkm/subdev/secboot.h
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2017-02-26 15:34:42 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-02-26 15:34:42 -0500
commit8e22e1b3499a446df48c2b26667ca36c55bf864c (patch)
tree5329f98b3eb3c95a9dcbab0fa4f9b6e62f0e788d /drivers/gpu/drm/nouveau/include/nvkm/subdev/secboot.h
parent00d3c14f14d51babd8aeafd5fa734ccf04f5ca3d (diff)
parent64a577196d66b44e37384bc5c4d78c61f59d5b2a (diff)
Merge airlied/drm-next into drm-misc-next
Backmerge the main pull request to sync up with all the newly landed drivers. Otherwise we'll have chaos even before 4.12 started in earnest. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/include/nvkm/subdev/secboot.h')
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/subdev/secboot.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/secboot.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/secboot.h
index b04c38c07761..5dbd8aa4f8c2 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/secboot.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/secboot.h
@@ -26,7 +26,7 @@
26#include <core/subdev.h> 26#include <core/subdev.h>
27 27
28enum nvkm_secboot_falcon { 28enum nvkm_secboot_falcon {
29 NVKM_SECBOOT_FALCON_PMU = 0, 29 NVKM_SECBOOT_FALCON_PMU = 0,
30 NVKM_SECBOOT_FALCON_RESERVED = 1, 30 NVKM_SECBOOT_FALCON_RESERVED = 1,
31 NVKM_SECBOOT_FALCON_FECS = 2, 31 NVKM_SECBOOT_FALCON_FECS = 2,
32 NVKM_SECBOOT_FALCON_GPCCS = 3, 32 NVKM_SECBOOT_FALCON_GPCCS = 3,
@@ -35,22 +35,23 @@ enum nvkm_secboot_falcon {
35}; 35};
36 36
37/** 37/**
38 * @base: base IO address of the falcon performing secure boot 38 * @wpr_set: whether the WPR region is currently set
39 * @irq_mask: IRQ mask of the falcon performing secure boot
40 * @enable_mask: enable mask of the falcon performing secure boot
41*/ 39*/
42struct nvkm_secboot { 40struct nvkm_secboot {
43 const struct nvkm_secboot_func *func; 41 const struct nvkm_secboot_func *func;
42 struct nvkm_acr *acr;
44 struct nvkm_subdev subdev; 43 struct nvkm_subdev subdev;
44 struct nvkm_falcon *boot_falcon;
45 45
46 enum nvkm_devidx devidx; 46 u64 wpr_addr;
47 u32 base; 47 u32 wpr_size;
48
49 bool wpr_set;
48}; 50};
49#define nvkm_secboot(p) container_of((p), struct nvkm_secboot, subdev) 51#define nvkm_secboot(p) container_of((p), struct nvkm_secboot, subdev)
50 52
51bool nvkm_secboot_is_managed(struct nvkm_secboot *, enum nvkm_secboot_falcon); 53bool nvkm_secboot_is_managed(struct nvkm_secboot *, enum nvkm_secboot_falcon);
52int nvkm_secboot_reset(struct nvkm_secboot *, u32 falcon); 54int nvkm_secboot_reset(struct nvkm_secboot *, enum nvkm_secboot_falcon);
53int nvkm_secboot_start(struct nvkm_secboot *, u32 falcon);
54 55
55int gm200_secboot_new(struct nvkm_device *, int, struct nvkm_secboot **); 56int gm200_secboot_new(struct nvkm_device *, int, struct nvkm_secboot **);
56int gm20b_secboot_new(struct nvkm_device *, int, struct nvkm_secboot **); 57int gm20b_secboot_new(struct nvkm_device *, int, struct nvkm_secboot **);