nouveau: add secure boot support for dGPU and Tegra
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest11 patches 0 repliesNew
- v25 patches 5 repliesSuperseded
Changes in v3 from the cover letter
- Works with final firmware in linux-firmware
- Use func structure in secboot to abstract differences between dGPU and Tegra
- Better management of firmware loading in GR
- Abstract the way secure falcons are started
- Add MODULE_FIRMWARE statements
- ... plenty of small fixes
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/11 | core: add gpuobj memcpy helper functionsdrm/ drm/ | +24 | 0 replies | |
| 2/11 | gr/gk20a: move firmware bundle release to gf100drm/ drm/ drm/ +1 more | +12 | 0 replies | |
| 3/11 | gr/gf100: load firmware in outer functiondrm/ drm/ | +22 | 0 replies | |
| 4/11 | gr/gk20a: simplify external bundle loading functionsdrm/ | +73 | 0 replies | |
| 5/11 | gr/gk20a: share external bundles loading functionsdrm/ drm/ | +11 | 0 replies | |
| 6/11 | gr/gm200: load external firmware and bundlesdrm/ drm/ drm/ +2 more | +53 | 0 replies | |
| 7/11 | core: add support for secure bootdrm/ drm/ drm/ +6 more | +409 | 0 replies | |
| 8/11 | gr/gf100: add support for securely-managed falconsdrm/ | +24 | 0 replies | |
| 9/11 | gr/gm200: do not load firmware for secure falconsdrm/ | +15 | 0 replies | |
| 10/11 | secboot/gm200: add secure-boot supportdrm/ drm/ drm/ +3 more | +1669 | 0 replies | |
| 11/11 | secboot/gm20b: add secure boot supportdrm/ drm/ drm/ +2 more | +242 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [PATCH v3 00/11] nouveau: add secure boot support for dGPU and Tegra
New version of the secure boot code that works with the blobs just merged into linux-firmware. Since the required Mesa patches are also merged, this set is the last piece of the puzzle to get out-of-the-box accelerated Maxwell 2.
The basic code remains the same, with a few improvements with respect to how secure falcons are started. Hopefully the patchset is better split too.
I have a work-in-progress to further split the secboot subdev and handle other format differences that future chips are likely to introduce, but this current code should be good for Maxwell 2 chips.
I hope to get this merged in time for 4.6, so please let me know quickly of any required changes!
Changes since v2:
- Works with final firmware in linux-firmware
- Use func structure in secboot to abstract differences between dGPU and Tegra
- Better management of firmware loading in GR
- Abstract the way secure falcons are started
- Add MODULE_FIRMWARE statements
- ... plenty of small fixes
Alexandre Courbot (11):
core: add gpuobj memcpy helper functions gr/gk20a: move firmware bundle release to gf100 gr/gf100: load firmware in outer function gr/gk20a: simplify external bundle loading functions gr/gk20a: share external bundles loading functions gr/gm200: load external firmware and bundles
core: add support for secure boot
gr/gf100: add support for securely-managed falcons gr/gm200: do not load firmware for secure falcons secboot/gm200: add secure-boot support secboot/gm20b: add secure boot support
drm/nouveau/include/nvkm/core/device.h | 3 + drm/nouveau/include/nvkm/core/gpuobj.h | 4 + drm/nouveau/include/nvkm/subdev/secboot.h | 59 ++ drm/nouveau/nvkm/core/gpuobj.c | 20 + drm/nouveau/nvkm/core/subdev.c | 1 + drm/nouveau/nvkm/engine/device/base.c | 5 + drm/nouveau/nvkm/engine/device/priv.h | 1 + drm/nouveau/nvkm/engine/gr/gf100.c | 65 +- drm/nouveau/nvkm/engine/gr/gf100.h | 16 +- drm/nouveau/nvkm/engine/gr/gk20a.c | 181 ++-- drm/nouveau/nvkm/engine/gr/gm200.c | 49 +- drm/nouveau/nvkm/engine/gr/gm206.c | 2 +- drm/nouveau/nvkm/engine/gr/gm20b.c | 12 +- drm/nouveau/nvkm/subdev/Kbuild | 1 + drm/nouveau/nvkm/subdev/secboot/Kbuild | 3 + drm/nouveau/nvkm/subdev/secboot/base.c | 296 ++++++ drm/nouveau/nvkm/subdev/secboot/gm200.c | 1485 +++++++++++++++++++++++++++++ drm/nouveau/nvkm/subdev/secboot/gm20b.c | 233 +++++ drm/nouveau/nvkm/subdev/secboot/priv.h | 226 +++++ 19 files changed, 2544 insertions(+), 118 deletions(-) create mode 100644 drm/nouveau/include/nvkm/subdev/secboot.h create mode 100644 drm/nouveau/nvkm/subdev/secboot/Kbuild create mode 100644 drm/nouveau/nvkm/subdev/secboot/base.c create mode 100644 drm/nouveau/nvkm/subdev/secboot/gm200.c create mode 100644 drm/nouveau/nvkm/subdev/secboot/gm20b.c create mode 100644 drm/nouveau/nvkm/subdev/secboot/priv.h
Signature · 1 line
2.7.1