Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9cc45521 authored by Alexandre Courbot's avatar Alexandre Courbot Committed by Ben Skeggs
Browse files

drm/nouveau/secboot/gm200: add secure-boot support



Add secure-boot for the dGPU set of GM20X chips, using the PMU as the
high-secure falcon.

This work is based on Deepak Goyal's initial port of Secure Boot to
Nouveau.

v2. use proper memory target function

Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 82babeaf
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -53,4 +53,6 @@ bool nvkm_secboot_is_managed(struct nvkm_secboot *, enum nvkm_secboot_falcon);
int nvkm_secboot_reset(struct nvkm_secboot *, u32 falcon);
int nvkm_secboot_start(struct nvkm_secboot *, u32 falcon);

int gm200_secboot_new(struct nvkm_device *, int, struct nvkm_secboot **);

#endif
+3 −0
Original line number Diff line number Diff line
@@ -1981,6 +1981,7 @@ nv120_chipset = {
	.mxm = nv50_mxm_new,
	.pci = gk104_pci_new,
	.pmu = gm107_pmu_new,
	.secboot = gm200_secboot_new,
	.timer = gk20a_timer_new,
	.volt = gk104_volt_new,
	.ce[0] = gm200_ce_new,
@@ -2012,6 +2013,7 @@ nv124_chipset = {
	.mxm = nv50_mxm_new,
	.pci = gk104_pci_new,
	.pmu = gm107_pmu_new,
	.secboot = gm200_secboot_new,
	.timer = gk20a_timer_new,
	.volt = gk104_volt_new,
	.ce[0] = gm200_ce_new,
@@ -2043,6 +2045,7 @@ nv126_chipset = {
	.mxm = nv50_mxm_new,
	.pci = gk104_pci_new,
	.pmu = gm107_pmu_new,
	.secboot = gm200_secboot_new,
	.timer = gk20a_timer_new,
	.volt = gk104_volt_new,
	.ce[0] = gm200_ce_new,
+1 −7
Original line number Diff line number Diff line
@@ -231,12 +231,6 @@ gm200_gr_data[] = {
 * PGRAPH engine/subdev functions
 ******************************************************************************/

static int
gm200_gr_init_ctxctl(struct gf100_gr *gr)
{
	return 0;
}

int
gm200_gr_init(struct gf100_gr *gr)
{
@@ -350,7 +344,7 @@ gm200_gr_init(struct gf100_gr *gr)

	gf100_gr_zbc_init(gr);

	return gm200_gr_init_ctxctl(gr);
	return gf100_gr_init_ctxctl(gr);
}

int
+1 −0
Original line number Diff line number Diff line
nvkm-y += nvkm/subdev/secboot/base.o
nvkm-y += nvkm/subdev/secboot/gm200.o
+1489 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading