Loading drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ struct nvkm_falcon { u8 version; u8 secret; struct nvkm_gpuobj *core; struct nvkm_memory *core; bool external; struct { Loading drivers/gpu/drm/nouveau/nvkm/engine/falcon.c +6 −4 Original line number Diff line number Diff line Loading @@ -168,8 +168,9 @@ _nvkm_falcon_init(struct nvkm_object *object) /* ensure any "self-bootstrapping" firmware image is in vram */ if (!falcon->data.data && !falcon->core) { ret = nvkm_gpuobj_new(object->parent, NULL, falcon->code.size, 256, 0, &falcon->core); ret = nvkm_memory_new(device, NVKM_MEM_TARGET_INST, falcon->code.size, 256, false, &falcon->core); if (ret) { nvkm_error(subdev, "core allocation failed, %d\n", ret); return ret; Loading @@ -183,12 +184,13 @@ _nvkm_falcon_init(struct nvkm_object *object) /* upload firmware bootloader (or the full code segments) */ if (falcon->core) { u64 addr = nvkm_memory_addr(falcon->core); if (device->card_type < NV_C0) nvkm_wr32(device, base + 0x618, 0x04000000); else nvkm_wr32(device, base + 0x618, 0x00000114); nvkm_wr32(device, base + 0x11c, 0); nvkm_wr32(device, base + 0x110, falcon->core->addr >> 8); nvkm_wr32(device, base + 0x110, addr >> 8); nvkm_wr32(device, base + 0x114, 0); nvkm_wr32(device, base + 0x118, 0x00006610); } else { Loading Loading @@ -243,7 +245,7 @@ _nvkm_falcon_fini(struct nvkm_object *object, bool suspend) const u32 base = falcon->addr; if (!suspend) { nvkm_gpuobj_ref(NULL, &falcon->core); nvkm_memory_del(&falcon->core); if (falcon->external) { vfree(falcon->data.data); vfree(falcon->code.data); Loading Loading
drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ struct nvkm_falcon { u8 version; u8 secret; struct nvkm_gpuobj *core; struct nvkm_memory *core; bool external; struct { Loading
drivers/gpu/drm/nouveau/nvkm/engine/falcon.c +6 −4 Original line number Diff line number Diff line Loading @@ -168,8 +168,9 @@ _nvkm_falcon_init(struct nvkm_object *object) /* ensure any "self-bootstrapping" firmware image is in vram */ if (!falcon->data.data && !falcon->core) { ret = nvkm_gpuobj_new(object->parent, NULL, falcon->code.size, 256, 0, &falcon->core); ret = nvkm_memory_new(device, NVKM_MEM_TARGET_INST, falcon->code.size, 256, false, &falcon->core); if (ret) { nvkm_error(subdev, "core allocation failed, %d\n", ret); return ret; Loading @@ -183,12 +184,13 @@ _nvkm_falcon_init(struct nvkm_object *object) /* upload firmware bootloader (or the full code segments) */ if (falcon->core) { u64 addr = nvkm_memory_addr(falcon->core); if (device->card_type < NV_C0) nvkm_wr32(device, base + 0x618, 0x04000000); else nvkm_wr32(device, base + 0x618, 0x00000114); nvkm_wr32(device, base + 0x11c, 0); nvkm_wr32(device, base + 0x110, falcon->core->addr >> 8); nvkm_wr32(device, base + 0x110, addr >> 8); nvkm_wr32(device, base + 0x114, 0); nvkm_wr32(device, base + 0x118, 0x00006610); } else { Loading Loading @@ -243,7 +245,7 @@ _nvkm_falcon_fini(struct nvkm_object *object, bool suspend) const u32 base = falcon->addr; if (!suspend) { nvkm_gpuobj_ref(NULL, &falcon->core); nvkm_memory_del(&falcon->core); if (falcon->external) { vfree(falcon->data.data); vfree(falcon->code.data); Loading