summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/include/nvkm/engine
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2022-06-01 13:47:51 +0300
committerBen Skeggs <bskeggs@redhat.com>2022-11-09 03:44:58 +0300
commit0e44c21708761977dcbea9b846b51a6fb684907a (patch)
tree47e980cd3ae55c9971c1f78ff5b419de183f68bc /drivers/gpu/drm/nouveau/include/nvkm/engine
parentf15cde64b66161bfa74fb58f4e5697d8265b802e (diff)
downloadlinux-0e44c21708761977dcbea9b846b51a6fb684907a.tar.xz
drm/nouveau/flcn: new code to load+boot simple HS FWs (VPR scrubber)
Adds the start of common interfaces to load and boot the HS binaries provided by NVIDIA that enable the usage of GR. ACR already handles most of this, but it's very much tied into ACR's init process, and there's other code that could benefit from reusing a lot of this stuff too (ie. VBIOS DEVINIT/PreOS, VPR scrubber). The VPR scrubber code is fairly independent, and a good first target. - adds better debug output to fw loading process, to ease bring-up/debug v2: - whitespace, 0->false Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/include/nvkm/engine')
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h
index 45c73893f100..ca751199379e 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h
@@ -63,6 +63,10 @@ struct nvkm_falcon_func {
int (*reset_eng)(struct nvkm_falcon *);
int (*reset_wait_mem_scrubbing)(struct nvkm_falcon *);
+ u32 debug;
+ const struct nvkm_falcon_func_pio *imem_pio;
+ const struct nvkm_falcon_func_pio *dmem_pio;
+
struct {
u32 *data;
u32 size;
@@ -74,7 +78,6 @@ struct nvkm_falcon_func {
void (*init)(struct nvkm_falcon *);
void (*intr)(struct nvkm_falcon *, struct nvkm_chan *);
- u32 debug;
u32 fbif;
void (*load_imem)(struct nvkm_falcon *, void *, u32, u32, u16, u8, bool);