summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Fleury <tfleury@nvidia.com>2017-08-21 18:38:23 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-08 22:26:34 -0500
commitf7f325deb926e4b7253ff31389219c71b9f2148e (patch)
treea8326789e6596dc346854935ae46dea20f252ffb
parent738bee03730a905d98361cd1260f9b79e3c12bf7 (diff)
gpu: nvgpu: vgpu: enable subctx for gv11b
Add vgpu_gv11b_init_gpu_characteristics() and enable NVGPU_SUPPORT_TSG_SUBCONTEXTS Jira VFND-3797 Jira EVLR-1751 Change-Id: I288ac062e42ec399a302d693471b50b58c9a2653 Signed-off-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1543015 Reviewed-by: Richard Zhao <rizhao@nvidia.com> Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/Makefile1
-rw-r--r--drivers/gpu/nvgpu/vgpu/gv11b/vgpu_gv11b.c40
-rw-r--r--drivers/gpu/nvgpu/vgpu/gv11b/vgpu_gv11b.h21
-rw-r--r--drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c3
4 files changed, 64 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/Makefile b/drivers/gpu/nvgpu/Makefile
index 077dc4cf..e8ef3688 100644
--- a/drivers/gpu/nvgpu/Makefile
+++ b/drivers/gpu/nvgpu/Makefile
@@ -38,6 +38,7 @@ nvgpu-$(CONFIG_TEGRA_GK20A_NVHOST) += common/linux/nvhost_t19x.o
38 38
39nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \ 39nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \
40 vgpu/gv11b/platform_gv11b_vgpu_tegra.o \ 40 vgpu/gv11b/platform_gv11b_vgpu_tegra.o \
41 vgpu/gv11b/vgpu_gv11b.o \
41 vgpu/gv11b/vgpu_hal_gv11b.o \ 42 vgpu/gv11b/vgpu_hal_gv11b.o \
42 vgpu/gv11b/vgpu_gr_gv11b.o \ 43 vgpu/gv11b/vgpu_gr_gv11b.o \
43 vgpu/gv11b/vgpu_fifo_gv11b.o \ 44 vgpu/gv11b/vgpu_fifo_gv11b.o \
diff --git a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_gv11b.c b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_gv11b.c
new file mode 100644
index 00000000..db3dfaf4
--- /dev/null
+++ b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_gv11b.c
@@ -0,0 +1,40 @@
1/*
2 * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 */
13
14#include "gk20a/gk20a.h"
15
16#include <nvgpu/enabled.h>
17#include <nvgpu/enabled_t19x.h>
18
19#include "vgpu/vgpu.h"
20#include "vgpu_gv11b.h"
21
22int vgpu_gv11b_init_gpu_characteristics(struct gk20a *g)
23{
24 int err;
25
26 gk20a_dbg_fn("");
27
28
29 nvgpu_err(g, "g->gpu_characteristics.flags=%llx",
30 g->gpu_characteristics.flags);
31 err = vgpu_init_gpu_characteristics(g);
32 if (err) {
33 nvgpu_err(g, "vgpu_init_gpu_characteristics failed, err %d\n", err);
34 return err;
35 }
36
37 __nvgpu_set_enabled(g, NVGPU_SUPPORT_TSG_SUBCONTEXTS, true);
38
39 return 0;
40}
diff --git a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_gv11b.h b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_gv11b.h
new file mode 100644
index 00000000..9413904b
--- /dev/null
+++ b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_gv11b.h
@@ -0,0 +1,21 @@
1/*
2 * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 */
13
14#ifndef _VGPU_GV11B_H_
15#define _VGPU_GV11B_H_
16
17struct gk20a;
18
19int vgpu_gv11b_init_gpu_characteristics(struct gk20a *g);
20
21#endif
diff --git a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
index 56360af4..5adb8ecd 100644
--- a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
+++ b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
@@ -78,6 +78,7 @@
78 78
79#include <nvgpu/enabled.h> 79#include <nvgpu/enabled.h>
80 80
81#include "vgpu_gv11b.h"
81#include "vgpu_gr_gv11b.h" 82#include "vgpu_gr_gv11b.h"
82#include "vgpu_fifo_gv11b.h" 83#include "vgpu_fifo_gv11b.h"
83#include "vgpu_subctx_gv11b.h" 84#include "vgpu_subctx_gv11b.h"
@@ -551,7 +552,7 @@ static const struct gpu_ops vgpu_gv11b_ops = {
551 .priv_ring = { 552 .priv_ring = {
552 .isr = gp10b_priv_ring_isr, 553 .isr = gp10b_priv_ring_isr,
553 }, 554 },
554 .chip_init_gpu_characteristics = vgpu_init_gpu_characteristics, 555 .chip_init_gpu_characteristics = vgpu_gv11b_init_gpu_characteristics,
555 .get_litter_value = gv11b_get_litter_value, 556 .get_litter_value = gv11b_get_litter_value,
556}; 557};
557 558