summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106/gr_ctx_gp106.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp106/gr_ctx_gp106.c')
-rw-r--r--drivers/gpu/nvgpu/gp106/gr_ctx_gp106.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp106/gr_ctx_gp106.c b/drivers/gpu/nvgpu/gp106/gr_ctx_gp106.c
new file mode 100644
index 00000000..1f47cc5a
--- /dev/null
+++ b/drivers/gpu/nvgpu/gp106/gr_ctx_gp106.c
@@ -0,0 +1,50 @@
1/*
2 * GP106 Graphics Context
3 *
4 * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * more details.
14 */
15
16#include "gk20a/gk20a.h"
17#include "gr_ctx_gp106.h"
18#include "nvgpu_gpuid_t18x.h"
19
20static int gr_gp106_get_netlist_name(struct gk20a *g, int index, char *name)
21{
22 u32 ver = g->gpu_characteristics.arch + g->gpu_characteristics.impl;
23
24 switch (ver) {
25 case NVGPU_GPUID_GP104:
26 sprintf(name, "%s/%s", "gp104",
27 GP104_NETLIST_IMAGE_FW_NAME);
28 break;
29 case NVGPU_GPUID_GP106:
30 sprintf(name, "%s/%s", "gp106",
31 GP106_NETLIST_IMAGE_FW_NAME);
32 break;
33 default:
34 gk20a_err(g->dev, "no support for GPUID %x", ver);
35 }
36
37 return 0;
38}
39
40static bool gr_gp106_is_firmware_defined(void)
41{
42 return true;
43}
44
45void gp106_init_gr_ctx(struct gpu_ops *gops)
46{
47 gops->gr_ctx.get_netlist_name = gr_gp106_get_netlist_name;
48 gops->gr_ctx.is_fw_defined = gr_gp106_is_firmware_defined;
49 gops->gr_ctx.use_dma_for_fw_bootstrap = false;
50}