summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2016-01-15 15:38:52 +0900
committerAlexandre Courbot <acourbot@nvidia.com>2016-01-15 17:32:57 +0900
commite711ec1b67b4d6cc52ba4d2b36154bae013b0307 (patch)
treeeccbd3abe5a355bd5a7a112545c68c9c75e07236
parent8325f51afbe052d40168483c93cc31131ee85a87 (diff)
downloadnouveau-e711ec1b67b4d6cc52ba4d2b36154bae013b0307.tar.gz
xtensa: use the nvkm_firmware functions
Use the newly-introduced nvkm_firmware functions. Note that this will change the expected location of firmware files. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
-rw-r--r--drm/nouveau/nvkm/engine/xtensa.c12
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);