diff options
Diffstat (limited to 'drm')
-rw-r--r-- | drm/nouveau/nvkm/engine/xtensa.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drm/nouveau/nvkm/engine/xtensa.c b/drm/nouveau/nvkm/engine/xtensa.c index a3d4f5bce..608741a52 100644 --- a/drm/nouveau/nvkm/engine/xtensa.c +++ b/drm/nouveau/nvkm/engine/xtensa.c @@ -22,6 +22,7 @@ #include <engine/xtensa.h> #include <core/gpuobj.h> +#include <core/firmware.h> #include <engine/fifo.h> static int @@ -104,10 +105,9 @@ nvkm_xtensa_init(struct nvkm_engine *engine) u32 tmp; if (!xtensa->gpu_fw) { - snprintf(name, sizeof(name), "nouveau/nv84_xuc%03x", - xtensa->addr >> 12); + snprintf(name, sizeof(name), "xuc%03x", xtensa->addr >> 12); - ret = request_firmware(&fw, name, device->dev); + ret = nvkm_firmware_get(device, name, &fw); if (ret) { nvkm_warn(subdev, "unable to load firmware %s\n", name); return ret; @@ -115,7 +115,7 @@ nvkm_xtensa_init(struct nvkm_engine *engine) if (fw->size > 0x40000) { nvkm_warn(subdev, "firmware %s too large\n", name); - release_firmware(fw); + nvkm_firmware_put(fw); return -EINVAL; } @@ -123,7 +123,7 @@ nvkm_xtensa_init(struct nvkm_engine *engine) 0x40000, 0x1000, false, &xtensa->gpu_fw); if (ret) { - release_firmware(fw); + nvkm_firmware_put(fw); return ret; } @@ -131,7 +131,7 @@ nvkm_xtensa_init(struct nvkm_engine *engine) for (i = 0; i < fw->size / 4; i++) nvkm_wo32(xtensa->gpu_fw, i * 4, *((u32 *)fw->data + i)); nvkm_done(xtensa->gpu_fw); - release_firmware(fw); + nvkm_firmware_put(fw); } addr = nvkm_memory_addr(xtensa->gpu_fw); |