summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm206/bios_gm206.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-04-14 15:06:39 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-04-19 15:16:02 -0400
commita9c66768db400a82575a82ecddec71f1d3fd4aba (patch)
tree3b83db70149515fc21c9d700f68bbcf0fb4e58b4 /drivers/gpu/nvgpu/gm206/bios_gm206.c
parent7eb59ff8d334e9980e21bac50b4680855bd8237f (diff)
gpu: nvgpu: Add abstraction for firmware loading
Add nvgpu_firmware data structure, and return it instead of Linux struct firmare from nvgpu_request_firmware. Also add abstraction for releasing firmware: nvgpu_release_firmware. JIRA NVGPU-16 Change-Id: I6dae8262957c0d4506f710289e3a43a6c1729fc7 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1463538 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm206/bios_gm206.c')
-rw-r--r--drivers/gpu/nvgpu/gm206/bios_gm206.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gm206/bios_gm206.c b/drivers/gpu/nvgpu/gm206/bios_gm206.c
index 2c84ac62..f460a053 100644
--- a/drivers/gpu/nvgpu/gm206/bios_gm206.c
+++ b/drivers/gpu/nvgpu/gm206/bios_gm206.c
@@ -11,13 +11,13 @@
11 * more details. 11 * more details.
12 */ 12 */
13 13
14#include <linux/firmware.h>
15#include <linux/pci.h> 14#include <linux/pci.h>
16 15
17#include <nvgpu/bios.h> 16#include <nvgpu/bios.h>
18#include <nvgpu/kmem.h> 17#include <nvgpu/kmem.h>
19#include <nvgpu/nvgpu_common.h> 18#include <nvgpu/nvgpu_common.h>
20#include <nvgpu/timers.h> 19#include <nvgpu/timers.h>
20#include <nvgpu/firmware.h>
21 21
22#include "gk20a/gk20a.h" 22#include "gk20a/gk20a.h"
23#include "gm20b/fifo_gm20b.h" 23#include "gm20b/fifo_gm20b.h"
@@ -249,7 +249,7 @@ int gm206_bios_init(struct gk20a *g)
249 unsigned int i; 249 unsigned int i;
250 struct gk20a_platform *platform = dev_get_drvdata(g->dev); 250 struct gk20a_platform *platform = dev_get_drvdata(g->dev);
251 struct dentry *d; 251 struct dentry *d;
252 const struct firmware *bios_fw; 252 struct nvgpu_firmware *bios_fw;
253 int err; 253 int err;
254 struct pci_dev *pdev = to_pci_dev(g->dev); 254 struct pci_dev *pdev = to_pci_dev(g->dev);
255 char rom_name[sizeof(BIOS_OVERLAY_NAME_FORMATTED)]; 255 char rom_name[sizeof(BIOS_OVERLAY_NAME_FORMATTED)];
@@ -273,7 +273,7 @@ int gm206_bios_init(struct gk20a *g)
273 memcpy(g->bios.data, &bios_fw->data[ROM_FILE_PAYLOAD_OFFSET], 273 memcpy(g->bios.data, &bios_fw->data[ROM_FILE_PAYLOAD_OFFSET],
274 g->bios.size); 274 g->bios.size);
275 275
276 release_firmware(bios_fw); 276 nvgpu_release_firmware(g, bios_fw);
277 } else { 277 } else {
278 gk20a_dbg_info("reading bios from EEPROM"); 278 gk20a_dbg_info("reading bios from EEPROM");
279 g->bios.size = BIOS_SIZE; 279 g->bios.size = BIOS_SIZE;
@@ -336,7 +336,7 @@ int gm206_bios_init(struct gk20a *g)
336 return 0; 336 return 0;
337 337
338free_firmware: 338free_firmware:
339 release_firmware(bios_fw); 339 nvgpu_release_firmware(g, bios_fw);
340 return err; 340 return err;
341} 341}
342 342