diff --git a/drivers/gpu/drm/nouveau/nvkm/falcon/base.c b/drivers/gpu/drm/nouveau/nvkm/falcon/base.c index 3ed421058b082..8f4c3aca2233c 100644 --- a/drivers/gpu/drm/nouveau/nvkm/falcon/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/falcon/base.c @@ -22,6 +22,7 @@ #include "priv.h" #include +#include void nvkm_falcon_load_imem(struct nvkm_falcon *falcon, void *data, u32 start, @@ -141,6 +142,12 @@ nvkm_falcon_oneinit(struct nvkm_falcon *falcon) u32 debug_reg; u32 reg; + if (!falcon->addr) { + falcon->addr = nvkm_top_addr(subdev->device, subdev->index); + if (WARN_ON(!falcon->addr)) + return -ENODEV; + } + reg = nvkm_falcon_rd32(falcon, 0x12c); falcon->version = reg & 0xf; falcon->secret = (reg >> 4) & 0x3;