diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/Makefile | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/Makefile.sources | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/fecs_trace_gm20b.c (renamed from drivers/gpu/nvgpu/gp10b/fecs_trace_gp10b.c) | 8 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/fecs_trace_gm20b.h (renamed from drivers/gpu/nvgpu/gp10b/fecs_trace_gp10b.h) | 10 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/hal_gm20b.c | 21 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp106/hal_gp106.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hal_gp10b.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv100/hal_gv100.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hal_gv11b.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c | 8 |
10 files changed, 46 insertions, 17 deletions
diff --git a/drivers/gpu/nvgpu/Makefile b/drivers/gpu/nvgpu/Makefile index 819be617..827d7df5 100644 --- a/drivers/gpu/nvgpu/Makefile +++ b/drivers/gpu/nvgpu/Makefile | |||
@@ -256,6 +256,7 @@ nvgpu-y += \ | |||
256 | gm20b/pmu_gm20b.o \ | 256 | gm20b/pmu_gm20b.o \ |
257 | gm20b/mm_gm20b.o \ | 257 | gm20b/mm_gm20b.o \ |
258 | gm20b/regops_gm20b.o \ | 258 | gm20b/regops_gm20b.o \ |
259 | gm20b/fecs_trace_gm20b.o \ | ||
259 | boardobj/boardobj.o \ | 260 | boardobj/boardobj.o \ |
260 | boardobj/boardobjgrp.o \ | 261 | boardobj/boardobjgrp.o \ |
261 | boardobj/boardobjgrpmask.o \ | 262 | boardobj/boardobjgrpmask.o \ |
@@ -302,7 +303,6 @@ nvgpu-y += \ | |||
302 | gp10b/pmu_gp10b.o \ | 303 | gp10b/pmu_gp10b.o \ |
303 | gp10b/hal_gp10b.o \ | 304 | gp10b/hal_gp10b.o \ |
304 | gp10b/regops_gp10b.o \ | 305 | gp10b/regops_gp10b.o \ |
305 | gp10b/fecs_trace_gp10b.o \ | ||
306 | gp10b/gp10b.o \ | 306 | gp10b/gp10b.o \ |
307 | gp10b/ecc_gp10b.o \ | 307 | gp10b/ecc_gp10b.o \ |
308 | gp106/hal_gp106.o \ | 308 | gp106/hal_gp106.o \ |
diff --git a/drivers/gpu/nvgpu/Makefile.sources b/drivers/gpu/nvgpu/Makefile.sources index 6ba8555d..183da6a5 100644 --- a/drivers/gpu/nvgpu/Makefile.sources +++ b/drivers/gpu/nvgpu/Makefile.sources | |||
@@ -172,6 +172,7 @@ srcs := os/posix/nvgpu.c \ | |||
172 | gm20b/pmu_gm20b.c \ | 172 | gm20b/pmu_gm20b.c \ |
173 | gm20b/mm_gm20b.c \ | 173 | gm20b/mm_gm20b.c \ |
174 | gm20b/regops_gm20b.c \ | 174 | gm20b/regops_gm20b.c \ |
175 | gm20b/fecs_trace_gm20b.c \ | ||
175 | gp10b/gr_gp10b.c \ | 176 | gp10b/gr_gp10b.c \ |
176 | gp10b/gr_ctx_gp10b.c \ | 177 | gp10b/gr_ctx_gp10b.c \ |
177 | gp10b/ce_gp10b.c \ | 178 | gp10b/ce_gp10b.c \ |
@@ -181,7 +182,6 @@ srcs := os/posix/nvgpu.c \ | |||
181 | gp10b/hal_gp10b.c \ | 182 | gp10b/hal_gp10b.c \ |
182 | gp10b/regops_gp10b.c \ | 183 | gp10b/regops_gp10b.c \ |
183 | gp10b/clk_arb_gp10b.c \ | 184 | gp10b/clk_arb_gp10b.c \ |
184 | gp10b/fecs_trace_gp10b.c \ | ||
185 | gp10b/gp10b.c \ | 185 | gp10b/gp10b.c \ |
186 | gp10b/ecc_gp10b.c \ | 186 | gp10b/ecc_gp10b.c \ |
187 | gv11b/gv11b.c \ | 187 | gv11b/gv11b.c \ |
diff --git a/drivers/gpu/nvgpu/gp10b/fecs_trace_gp10b.c b/drivers/gpu/nvgpu/gm20b/fecs_trace_gm20b.c index 3dc672ff..84772af5 100644 --- a/drivers/gpu/nvgpu/gp10b/fecs_trace_gp10b.c +++ b/drivers/gpu/nvgpu/gm20b/fecs_trace_gm20b.c | |||
@@ -26,13 +26,13 @@ | |||
26 | 26 | ||
27 | #include "gk20a/fecs_trace_gk20a.h" | 27 | #include "gk20a/fecs_trace_gk20a.h" |
28 | 28 | ||
29 | #include "fecs_trace_gp10b.h" | 29 | #include "fecs_trace_gm20b.h" |
30 | 30 | ||
31 | #include <nvgpu/hw/gp10b/hw_ctxsw_prog_gp10b.h> | 31 | #include <nvgpu/hw/gm20b/hw_ctxsw_prog_gm20b.h> |
32 | #include <nvgpu/hw/gp10b/hw_gr_gp10b.h> | 32 | #include <nvgpu/hw/gm20b/hw_gr_gm20b.h> |
33 | 33 | ||
34 | #ifdef CONFIG_GK20A_CTXSW_TRACE | 34 | #ifdef CONFIG_GK20A_CTXSW_TRACE |
35 | int gp10b_fecs_trace_flush(struct gk20a *g) | 35 | int gm20b_fecs_trace_flush(struct gk20a *g) |
36 | { | 36 | { |
37 | struct fecs_method_op_gk20a op = { | 37 | struct fecs_method_op_gk20a op = { |
38 | .mailbox = { .id = 0, .data = 0, | 38 | .mailbox = { .id = 0, .data = 0, |
diff --git a/drivers/gpu/nvgpu/gp10b/fecs_trace_gp10b.h b/drivers/gpu/nvgpu/gm20b/fecs_trace_gm20b.h index 0eda975b..dd98e7c4 100644 --- a/drivers/gpu/nvgpu/gp10b/fecs_trace_gp10b.h +++ b/drivers/gpu/nvgpu/gm20b/fecs_trace_gm20b.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * GP10B GPU FECS traces | 2 | * GM20B GPU FECS traces |
3 | * | 3 | * |
4 | * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved. |
5 | * | 5 | * |
@@ -22,11 +22,11 @@ | |||
22 | * DEALINGS IN THE SOFTWARE. | 22 | * DEALINGS IN THE SOFTWARE. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #ifndef NVGPU_FECS_TRACE_GP10B_H | 25 | #ifndef NVGPU_FECS_TRACE_GM20B_H |
26 | #define NVGPU_FECS_TRACE_GP10B_H | 26 | #define NVGPU_FECS_TRACE_GM20B_H |
27 | 27 | ||
28 | struct gk20a; | 28 | struct gk20a; |
29 | 29 | ||
30 | int gp10b_fecs_trace_flush(struct gk20a *g); | 30 | int gm20b_fecs_trace_flush(struct gk20a *g); |
31 | 31 | ||
32 | #endif /* NVGPU_FECS_TRACE_GP10B_H */ | 32 | #endif /* NVGPU_FECS_TRACE_GM20B_H */ |
diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c index c5bf4ff5..6de1dad5 100644 --- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <nvgpu/gk20a.h> | 29 | #include <nvgpu/gk20a.h> |
30 | #include <nvgpu/channel.h> | 30 | #include <nvgpu/channel.h> |
31 | #include <nvgpu/tsg.h> | 31 | #include <nvgpu/tsg.h> |
32 | #include <nvgpu/ctxsw_trace.h> | ||
32 | 33 | ||
33 | #include "common/clock_gating/gm20b_gating_reglist.h" | 34 | #include "common/clock_gating/gm20b_gating_reglist.h" |
34 | #include "common/bus/bus_gm20b.h" | 35 | #include "common/bus/bus_gm20b.h" |
@@ -51,6 +52,8 @@ | |||
51 | #include "gk20a/regops_gk20a.h" | 52 | #include "gk20a/regops_gk20a.h" |
52 | #include "gk20a/pmu_gk20a.h" | 53 | #include "gk20a/pmu_gk20a.h" |
53 | #include "gk20a/gr_gk20a.h" | 54 | #include "gk20a/gr_gk20a.h" |
55 | #include "gk20a/fecs_trace_gk20a.h" | ||
56 | #include "gm20b/fecs_trace_gm20b.h" | ||
54 | 57 | ||
55 | #include "gr_gm20b.h" | 58 | #include "gr_gm20b.h" |
56 | #include "fifo_gm20b.h" | 59 | #include "fifo_gm20b.h" |
@@ -484,6 +487,24 @@ static const struct gpu_ops gm20b_ops = { | |||
484 | .get_netlist_name = gr_gm20b_get_netlist_name, | 487 | .get_netlist_name = gr_gm20b_get_netlist_name, |
485 | .is_fw_defined = gr_gm20b_is_firmware_defined, | 488 | .is_fw_defined = gr_gm20b_is_firmware_defined, |
486 | }, | 489 | }, |
490 | #ifdef CONFIG_GK20A_CTXSW_TRACE | ||
491 | .fecs_trace = { | ||
492 | .alloc_user_buffer = gk20a_ctxsw_dev_ring_alloc, | ||
493 | .free_user_buffer = gk20a_ctxsw_dev_ring_free, | ||
494 | .mmap_user_buffer = gk20a_ctxsw_dev_mmap_buffer, | ||
495 | .init = gk20a_fecs_trace_init, | ||
496 | .deinit = gk20a_fecs_trace_deinit, | ||
497 | .enable = gk20a_fecs_trace_enable, | ||
498 | .disable = gk20a_fecs_trace_disable, | ||
499 | .is_enabled = gk20a_fecs_trace_is_enabled, | ||
500 | .reset = gk20a_fecs_trace_reset, | ||
501 | .flush = gm20b_fecs_trace_flush, | ||
502 | .poll = gk20a_fecs_trace_poll, | ||
503 | .bind_channel = gk20a_fecs_trace_bind_channel, | ||
504 | .unbind_channel = gk20a_fecs_trace_unbind_channel, | ||
505 | .max_entries = gk20a_gr_max_entries, | ||
506 | }, | ||
507 | #endif /* CONFIG_GK20A_CTXSW_TRACE */ | ||
487 | .mm = { | 508 | .mm = { |
488 | .support_sparse = gm20b_mm_support_sparse, | 509 | .support_sparse = gm20b_mm_support_sparse, |
489 | .gmmu_map = gk20a_locked_gmmu_map, | 510 | .gmmu_map = gk20a_locked_gmmu_map, |
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c index fea2ffa0..86a133d5 100644 --- a/drivers/gpu/nvgpu/gp106/hal_gp106.c +++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c | |||
@@ -54,7 +54,6 @@ | |||
54 | #include "gk20a/gr_gk20a.h" | 54 | #include "gk20a/gr_gk20a.h" |
55 | 55 | ||
56 | #include "gp10b/gr_gp10b.h" | 56 | #include "gp10b/gr_gp10b.h" |
57 | #include "gp10b/fecs_trace_gp10b.h" | ||
58 | #include "gp10b/mm_gp10b.h" | 57 | #include "gp10b/mm_gp10b.h" |
59 | #include "gp10b/ce_gp10b.h" | 58 | #include "gp10b/ce_gp10b.h" |
60 | #include "gp10b/regops_gp10b.h" | 59 | #include "gp10b/regops_gp10b.h" |
@@ -71,6 +70,7 @@ | |||
71 | #include "gm20b/pmu_gm20b.h" | 70 | #include "gm20b/pmu_gm20b.h" |
72 | #include "gm20b/acr_gm20b.h" | 71 | #include "gm20b/acr_gm20b.h" |
73 | #include "gm20b/gr_gm20b.h" | 72 | #include "gm20b/gr_gm20b.h" |
73 | #include "gm20b/fecs_trace_gm20b.h" | ||
74 | 74 | ||
75 | #include "gp106/acr_gp106.h" | 75 | #include "gp106/acr_gp106.h" |
76 | #include "gp106/sec2_gp106.h" | 76 | #include "gp106/sec2_gp106.h" |
@@ -570,7 +570,7 @@ static const struct gpu_ops gp106_ops = { | |||
570 | .disable = gk20a_fecs_trace_disable, | 570 | .disable = gk20a_fecs_trace_disable, |
571 | .is_enabled = gk20a_fecs_trace_is_enabled, | 571 | .is_enabled = gk20a_fecs_trace_is_enabled, |
572 | .reset = gk20a_fecs_trace_reset, | 572 | .reset = gk20a_fecs_trace_reset, |
573 | .flush = gp10b_fecs_trace_flush, | 573 | .flush = gm20b_fecs_trace_flush, |
574 | .poll = gk20a_fecs_trace_poll, | 574 | .poll = gk20a_fecs_trace_poll, |
575 | .bind_channel = gk20a_fecs_trace_bind_channel, | 575 | .bind_channel = gk20a_fecs_trace_bind_channel, |
576 | .unbind_channel = gk20a_fecs_trace_unbind_channel, | 576 | .unbind_channel = gk20a_fecs_trace_unbind_channel, |
diff --git a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c index 5fcfb32f..0723fa0e 100644 --- a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c | |||
@@ -60,7 +60,6 @@ | |||
60 | #include "gk20a/gr_gk20a.h" | 60 | #include "gk20a/gr_gk20a.h" |
61 | 61 | ||
62 | #include "gp10b/gr_gp10b.h" | 62 | #include "gp10b/gr_gp10b.h" |
63 | #include "gp10b/fecs_trace_gp10b.h" | ||
64 | #include "gp10b/mm_gp10b.h" | 63 | #include "gp10b/mm_gp10b.h" |
65 | #include "gp10b/ce_gp10b.h" | 64 | #include "gp10b/ce_gp10b.h" |
66 | #include "gp10b/pmu_gp10b.h" | 65 | #include "gp10b/pmu_gp10b.h" |
@@ -76,6 +75,7 @@ | |||
76 | #include "gm20b/pmu_gm20b.h" | 75 | #include "gm20b/pmu_gm20b.h" |
77 | #include "gm20b/clk_gm20b.h" | 76 | #include "gm20b/clk_gm20b.h" |
78 | #include "gm20b/mm_gm20b.h" | 77 | #include "gm20b/mm_gm20b.h" |
78 | #include "gm20b/fecs_trace_gm20b.h" | ||
79 | 79 | ||
80 | #include "gp10b.h" | 80 | #include "gp10b.h" |
81 | #include "hal_gp10b.h" | 81 | #include "hal_gp10b.h" |
@@ -537,7 +537,7 @@ static const struct gpu_ops gp10b_ops = { | |||
537 | .disable = gk20a_fecs_trace_disable, | 537 | .disable = gk20a_fecs_trace_disable, |
538 | .is_enabled = gk20a_fecs_trace_is_enabled, | 538 | .is_enabled = gk20a_fecs_trace_is_enabled, |
539 | .reset = gk20a_fecs_trace_reset, | 539 | .reset = gk20a_fecs_trace_reset, |
540 | .flush = gp10b_fecs_trace_flush, | 540 | .flush = gm20b_fecs_trace_flush, |
541 | .poll = gk20a_fecs_trace_poll, | 541 | .poll = gk20a_fecs_trace_poll, |
542 | .bind_channel = gk20a_fecs_trace_bind_channel, | 542 | .bind_channel = gk20a_fecs_trace_bind_channel, |
543 | .unbind_channel = gk20a_fecs_trace_unbind_channel, | 543 | .unbind_channel = gk20a_fecs_trace_unbind_channel, |
diff --git a/drivers/gpu/nvgpu/gv100/hal_gv100.c b/drivers/gpu/nvgpu/gv100/hal_gv100.c index c8849631..457ae64c 100644 --- a/drivers/gpu/nvgpu/gv100/hal_gv100.c +++ b/drivers/gpu/nvgpu/gv100/hal_gv100.c | |||
@@ -66,6 +66,7 @@ | |||
66 | #include "gm20b/mm_gm20b.h" | 66 | #include "gm20b/mm_gm20b.h" |
67 | #include "gm20b/pmu_gm20b.h" | 67 | #include "gm20b/pmu_gm20b.h" |
68 | #include "gm20b/acr_gm20b.h" | 68 | #include "gm20b/acr_gm20b.h" |
69 | #include "gm20b/fecs_trace_gm20b.h" | ||
69 | 70 | ||
70 | #include "gp106/clk_arb_gp106.h" | 71 | #include "gp106/clk_arb_gp106.h" |
71 | #include "gp106/pmu_gp106.h" | 72 | #include "gp106/pmu_gp106.h" |
@@ -77,7 +78,6 @@ | |||
77 | #include "gp10b/gr_gp10b.h" | 78 | #include "gp10b/gr_gp10b.h" |
78 | #include "gp10b/ce_gp10b.h" | 79 | #include "gp10b/ce_gp10b.h" |
79 | #include "gp10b/fifo_gp10b.h" | 80 | #include "gp10b/fifo_gp10b.h" |
80 | #include "gp10b/fecs_trace_gp10b.h" | ||
81 | #include "gp10b/mm_gp10b.h" | 81 | #include "gp10b/mm_gp10b.h" |
82 | #include "gp10b/pmu_gp10b.h" | 82 | #include "gp10b/pmu_gp10b.h" |
83 | 83 | ||
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c index 718b6f93..6b4eeb88 100644 --- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c | |||
@@ -60,10 +60,10 @@ | |||
60 | #include "gm20b/mm_gm20b.h" | 60 | #include "gm20b/mm_gm20b.h" |
61 | #include "gm20b/acr_gm20b.h" | 61 | #include "gm20b/acr_gm20b.h" |
62 | #include "gm20b/pmu_gm20b.h" | 62 | #include "gm20b/pmu_gm20b.h" |
63 | #include "gm20b/fecs_trace_gm20b.h" | ||
63 | 64 | ||
64 | #include "gp10b/ce_gp10b.h" | 65 | #include "gp10b/ce_gp10b.h" |
65 | #include "gp10b/fifo_gp10b.h" | 66 | #include "gp10b/fifo_gp10b.h" |
66 | #include "gp10b/fecs_trace_gp10b.h" | ||
67 | #include "gp10b/mm_gp10b.h" | 67 | #include "gp10b/mm_gp10b.h" |
68 | #include "gp10b/pmu_gp10b.h" | 68 | #include "gp10b/pmu_gp10b.h" |
69 | #include "gp10b/gr_gp10b.h" | 69 | #include "gp10b/gr_gp10b.h" |
diff --git a/drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c b/drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c index 9024ce22..77aee395 100644 --- a/drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c +++ b/drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c | |||
@@ -18,6 +18,8 @@ | |||
18 | 18 | ||
19 | #include "cde_gm20b.h" | 19 | #include "cde_gm20b.h" |
20 | #include "debug_clk_gm20b.h" | 20 | #include "debug_clk_gm20b.h" |
21 | #include "debug_fecs_trace.h" | ||
22 | |||
21 | 23 | ||
22 | static struct nvgpu_os_linux_ops gm20b_os_linux_ops = { | 24 | static struct nvgpu_os_linux_ops gm20b_os_linux_ops = { |
23 | #ifdef CONFIG_NVGPU_SUPPORT_CDE | 25 | #ifdef CONFIG_NVGPU_SUPPORT_CDE |
@@ -28,6 +30,10 @@ static struct nvgpu_os_linux_ops gm20b_os_linux_ops = { | |||
28 | .clk = { | 30 | .clk = { |
29 | .init_debugfs = gm20b_clk_init_debugfs, | 31 | .init_debugfs = gm20b_clk_init_debugfs, |
30 | }, | 32 | }, |
33 | |||
34 | .fecs_trace = { | ||
35 | .init_debugfs = nvgpu_fecs_trace_init_debugfs, | ||
36 | }, | ||
31 | }; | 37 | }; |
32 | 38 | ||
33 | void nvgpu_gm20b_init_os_ops(struct nvgpu_os_linux *l) | 39 | void nvgpu_gm20b_init_os_ops(struct nvgpu_os_linux *l) |
@@ -36,4 +42,6 @@ void nvgpu_gm20b_init_os_ops(struct nvgpu_os_linux *l) | |||
36 | l->ops.cde = gm20b_os_linux_ops.cde; | 42 | l->ops.cde = gm20b_os_linux_ops.cde; |
37 | #endif | 43 | #endif |
38 | l->ops.clk = gm20b_os_linux_ops.clk; | 44 | l->ops.clk = gm20b_os_linux_ops.clk; |
45 | |||
46 | l->ops.fecs_trace = gm20b_os_linux_ops.fecs_trace; | ||
39 | } | 47 | } |