Displaying 5 results from an estimated 5 matches for "gpu_fw".
2013 Jun 03
4
[PATCH] nouveau: Load firmware for BSP/VP engines on NV84-NV96, NVA0
...u/drm/nouveau/core/engine/bsp/nv84.c
index 1d9f614..04880d9 100644
--- a/drivers/gpu/drm/nouveau/core/engine/bsp/nv84.c
+++ b/drivers/gpu/drm/nouveau/core/engine/bsp/nv84.c
@@ -29,6 +29,10 @@
struct nv84_bsp_priv {
struct nouveau_engine base;
+ u32 *fw;
+ long fw_size;
+ struct nouveau_gpuobj *gpu_fw;
+ void *vm_gpu_fw;
};
/*******************************************************************************
@@ -37,6 +41,7 @@ struct nv84_bsp_priv {
static struct nouveau_oclass
nv84_bsp_sclass[] = {
+ { 0x74b0, &nouveau_object_ofuncs },
{},
};
@@ -44,11 +49,28 @@ nv84_bsp_sclass[] = {...
2013 Jun 04
0
[PATCH] nouveau: Load firmware for BSP/VP engines on NV84-NV96, NVA0
...> --- a/drivers/gpu/drm/nouveau/core/engine/bsp/nv84.c
> +++ b/drivers/gpu/drm/nouveau/core/engine/bsp/nv84.c
> @@ -29,6 +29,10 @@
>
> struct nv84_bsp_priv {
> struct nouveau_engine base;
> + u32 *fw;
> + long fw_size;
> + struct nouveau_gpuobj *gpu_fw;
> + void *vm_gpu_fw;
> };
>
> /*******************************************************************************
> @@ -37,6 +41,7 @@ struct nv84_bsp_priv {
>
> static struct nouveau_oclass
> nv84_bsp_sclass[] = {
> + { 0x74b0, &nouveau_object_ofuncs },...
2013 Jun 23
0
[PATCH v2] nouveau: Load firmware for BSP/VP engines on NV84-NV96, NVA0
...ce *device = nv_device(object);
+ struct nouveau_xtensa *xtensa = (void *)object;
+ const struct firmware *fw;
+ int i, ret;
+ u32 tmp;
+
+ ret = nouveau_engine_init(&xtensa->base);
+ if (ret)
+ return ret;
+
+ ret = nouveau_gpuobj_new(object, NULL, 0x40000, 0x1000, 0,
+ &xtensa->gpu_fw);
+ if (ret)
+ return ret;
+
+ ret = request_firmware(&fw, xtensa->firmware_fname, &device->pdev->dev);
+ if (ret) {
+ nv_warn(xtensa, "Firmware file %s unavailable.\n",
+ xtensa->firmware_fname);
+ return ret;
+ }
+
+ nv_debug(xtensa, "Loading firmware to ad...
2016 Jan 18
8
[PATCH 0/5] nouveau: unified firmware loading functions
This patchset centralizes the firmware-loading procedure to one set of functions
instead of having each engine load its firmware as it pleases. This helps ensure
that all firmware comes from the same place, namely nvidia/<chip>/.
This changes where the firmware is fetched from for falcon/xtensa/bios, but
these locations never seemed to have been official anyway. Also for most (all?)
chips
2013 Jul 19
0
[PATCH] drm/nouveau/xtensa: firmware size needs to be 0x40000 no matter what
...ret = nouveau_gpuobj_new(object, NULL, fw->size, 0x1000, 0,
+ if (fw->size > 0x40000) {
+ nv_warn(xtensa, "firmware %s too large\n", name);
+ release_firmware(fw);
+ return -EINVAL;
+ }
+
+ ret = nouveau_gpuobj_new(object, NULL, 0x40000, 0x1000, 0,
&xtensa->gpu_fw);
if (ret) {
release_firmware(fw);
--
1.8.1.5