GP10B is the chip used in Tegra X2 SoCs. This patchset adds support for its base engines after reworking secboot a bit to accomodate its calling convention better.
This patchset has been tested rendering simple off-screen buffers using Mesa and yielded the expected result. Alexandre Courbot (15): secboot: allow to boot multiple falcons secboot: pass instance to LS firmware loaders secboot: let LS post_run hooks return error secboot: start LS firmware in post-run hook secboot/gm20b: specify MC base address as argument secboot: add GP10B support msgqueue: support for GP10B PMU firmware fifo: add GP10B support fb: add GP10B support mc: add GP10B support ibus: add GP10B support gr: support for GP10B platform: make VDD regulator optional platform: support for probing GP10B core: recognise GP10B chipset drm/nouveau/include/nvkm/core/msgqueue.h | 7 +- drm/nouveau/include/nvkm/core/tegra.h | 4 + drm/nouveau/include/nvkm/engine/fifo.h | 1 + drm/nouveau/include/nvkm/engine/gr.h | 1 + drm/nouveau/include/nvkm/subdev/fb.h | 1 + drm/nouveau/include/nvkm/subdev/ibus.h | 1 + drm/nouveau/include/nvkm/subdev/mc.h | 1 + drm/nouveau/include/nvkm/subdev/secboot.h | 3 +- drm/nouveau/nouveau_platform.c | 12 +++ drm/nouveau/nvkm/engine/device/base.c | 24 +++++ drm/nouveau/nvkm/engine/device/tegra.c | 31 ++++-- drm/nouveau/nvkm/engine/fifo/Kbuild | 1 + drm/nouveau/nvkm/engine/fifo/gk104.h | 1 + drm/nouveau/nvkm/engine/fifo/gp100.c | 2 +- drm/nouveau/nvkm/engine/fifo/gp10b.c | 41 ++++++++ drm/nouveau/nvkm/engine/gr/Kbuild | 1 + drm/nouveau/nvkm/engine/gr/gf100.c | 16 +-- drm/nouveau/nvkm/engine/gr/gf100.h | 4 + drm/nouveau/nvkm/engine/gr/gp100.c | 13 ++- drm/nouveau/nvkm/engine/gr/gp102.c | 1 + drm/nouveau/nvkm/engine/gr/gp10b.c | 59 +++++++++++ drm/nouveau/nvkm/falcon/msgqueue.c | 35 +++++-- drm/nouveau/nvkm/falcon/msgqueue.h | 10 +- drm/nouveau/nvkm/falcon/msgqueue_0137c63d.c | 115 ++++++++++++++++++++- drm/nouveau/nvkm/falcon/msgqueue_0148cdec.c | 3 +- drm/nouveau/nvkm/subdev/fb/Kbuild | 1 + drm/nouveau/nvkm/subdev/fb/gp10b.c | 38 +++++++ drm/nouveau/nvkm/subdev/ibus/Kbuild | 1 + drm/nouveau/nvkm/subdev/ibus/gp10b.c | 59 +++++++++++ drm/nouveau/nvkm/subdev/mc/Kbuild | 1 + drm/nouveau/nvkm/subdev/mc/gp100.c | 17 ++- drm/nouveau/nvkm/subdev/mc/gp10b.c | 50 +++++++++ drm/nouveau/nvkm/subdev/mc/priv.h | 6 ++ drm/nouveau/nvkm/subdev/secboot/Kbuild | 1 + drm/nouveau/nvkm/subdev/secboot/acr.h | 3 +- drm/nouveau/nvkm/subdev/secboot/acr_r352.c | 88 +++++----------- drm/nouveau/nvkm/subdev/secboot/acr_r352.h | 6 +- drm/nouveau/nvkm/subdev/secboot/acr_r367.c | 3 +- drm/nouveau/nvkm/subdev/secboot/acr_r367.h | 1 + drm/nouveau/nvkm/subdev/secboot/base.c | 6 +- drm/nouveau/nvkm/subdev/secboot/gm200.h | 3 + drm/nouveau/nvkm/subdev/secboot/gm20b.c | 17 +-- drm/nouveau/nvkm/subdev/secboot/gp10b.c | 93 +++++++++++++++++ drm/nouveau/nvkm/subdev/secboot/ls_ucode.h | 12 +-- drm/nouveau/nvkm/subdev/secboot/ls_ucode_gr.c | 10 +- .../nvkm/subdev/secboot/ls_ucode_msgqueue.c | 90 +++++++++++++--- 46 files changed, 749 insertions(+), 145 deletions(-) create mode 100644 drm/nouveau/nvkm/engine/fifo/gp10b.c create mode 100644 drm/nouveau/nvkm/engine/gr/gp10b.c create mode 100644 drm/nouveau/nvkm/subdev/fb/gp10b.c create mode 100644 drm/nouveau/nvkm/subdev/ibus/gp10b.c create mode 100644 drm/nouveau/nvkm/subdev/mc/gp10b.c create mode 100644 drm/nouveau/nvkm/subdev/secboot/gp10b.c -- 2.12.0 _______________________________________________ Nouveau mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/nouveau
