summaryrefslogtreecommitdiffstats
path: root/include/linux/tegra_vgpu.h
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2016-03-07 17:23:12 -0500
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-04-11 18:38:12 -0400
commit60b715e85600a6be283e54c610c2a3db3b552059 (patch)
treeaaf2332b8a03c5869a1be74843eae5ea5ccb99be /include/linux/tegra_vgpu.h
parent6eeabfbdd08e48f924885952c80ff41aa2b534b7 (diff)
gpu: nvgpu: vgpu: add fecs trace support
Bug 1648908 Change-Id: I7901e7bce5f7aa124a188101dd0736241d87bd53 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: http://git-master/r/1031861 Reviewed-on: http://git-master/r/1121261 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'include/linux/tegra_vgpu.h')
-rw-r--r--include/linux/tegra_vgpu.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/include/linux/tegra_vgpu.h b/include/linux/tegra_vgpu.h
index 979d454e..67bd0d76 100644
--- a/include/linux/tegra_vgpu.h
+++ b/include/linux/tegra_vgpu.h
@@ -77,10 +77,10 @@ enum {
77 TEGRA_VGPU_CMD_CHANNEL_SET_PRIORITY, 77 TEGRA_VGPU_CMD_CHANNEL_SET_PRIORITY,
78 TEGRA_VGPU_CMD_CHANNEL_SET_RUNLIST_INTERLEAVE, 78 TEGRA_VGPU_CMD_CHANNEL_SET_RUNLIST_INTERLEAVE,
79 TEGRA_VGPU_CMD_CHANNEL_SET_TIMESLICE, 79 TEGRA_VGPU_CMD_CHANNEL_SET_TIMESLICE,
80 RESVD1, 80 TEGRA_VGPU_CMD_FECS_TRACE_ENABLE,
81 RESVD2, 81 TEGRA_VGPU_CMD_FECS_TRACE_DISABLE,
82 RESVD3, 82 TEGRA_VGPU_CMD_FECS_TRACE_POLL,
83 RESVD4, 83 TEGRA_VGPU_CMD_FECS_TRACE_SET_FILTER,
84 TEGRA_VGPU_CMD_CHANNEL_SET_SMPC_CTXSW_MODE, 84 TEGRA_VGPU_CMD_CHANNEL_SET_SMPC_CTXSW_MODE,
85 TEGRA_VGPU_CMD_CHANNEL_SET_HWPM_CTXSW_MODE, 85 TEGRA_VGPU_CMD_CHANNEL_SET_HWPM_CTXSW_MODE,
86 TEGRA_VGPU_CMD_CHANNEL_FREE_HWPM_CTX, 86 TEGRA_VGPU_CMD_CHANNEL_FREE_HWPM_CTX,
@@ -319,6 +319,11 @@ struct tegra_vgpu_channel_timeslice_params {
319 u32 timeslice_us; 319 u32 timeslice_us;
320}; 320};
321 321
322#define TEGRA_VGPU_FECS_TRACE_FILTER_SIZE 256
323struct tegra_vgpu_fecs_trace_filter {
324 u64 tag_bits[(TEGRA_VGPU_FECS_TRACE_FILTER_SIZE + 63) / 64];
325};
326
322enum { 327enum {
323 TEGRA_VGPU_CTXSW_MODE_NO_CTXSW = 0, 328 TEGRA_VGPU_CTXSW_MODE_NO_CTXSW = 0,
324 TEGRA_VGPU_CTXSW_MODE_CTXSW, 329 TEGRA_VGPU_CTXSW_MODE_CTXSW,
@@ -363,6 +368,7 @@ struct tegra_vgpu_cmd_msg {
363 struct tegra_vgpu_channel_priority_params channel_priority; 368 struct tegra_vgpu_channel_priority_params channel_priority;
364 struct tegra_vgpu_channel_runlist_interleave_params channel_interleave; 369 struct tegra_vgpu_channel_runlist_interleave_params channel_interleave;
365 struct tegra_vgpu_channel_timeslice_params channel_timeslice; 370 struct tegra_vgpu_channel_timeslice_params channel_timeslice;
371 struct tegra_vgpu_fecs_trace_filter fecs_trace_filter;
366 struct tegra_vgpu_channel_set_ctxsw_mode set_ctxsw_mode; 372 struct tegra_vgpu_channel_set_ctxsw_mode set_ctxsw_mode;
367 struct tegra_vgpu_channel_free_hwpm_ctx free_hwpm_ctx; 373 struct tegra_vgpu_channel_free_hwpm_ctx free_hwpm_ctx;
368 char padding[192]; 374 char padding[192];
@@ -412,6 +418,15 @@ struct tegra_vgpu_ce2_nonstall_intr_info {
412}; 418};
413 419
414enum { 420enum {
421 TEGRA_VGPU_FECS_TRACE_DATA_UPDATE = 0
422};
423
424struct tegra_vgpu_fecs_trace_event_info {
425 u32 type;
426};
427
428enum {
429
415 TEGRA_VGPU_INTR_GR = 0, 430 TEGRA_VGPU_INTR_GR = 0,
416 TEGRA_VGPU_INTR_FIFO, 431 TEGRA_VGPU_INTR_FIFO,
417 TEGRA_VGPU_INTR_CE2, 432 TEGRA_VGPU_INTR_CE2,
@@ -422,7 +437,8 @@ enum {
422 437
423enum { 438enum {
424 TEGRA_VGPU_EVENT_INTR = 0, 439 TEGRA_VGPU_EVENT_INTR = 0,
425 TEGRA_VGPU_EVENT_ABORT 440 TEGRA_VGPU_EVENT_ABORT,
441 TEGRA_VGPU_EVENT_FECS_TRACE
426}; 442};
427 443
428struct tegra_vgpu_intr_msg { 444struct tegra_vgpu_intr_msg {
@@ -434,6 +450,7 @@ struct tegra_vgpu_intr_msg {
434 struct tegra_vgpu_fifo_intr_info fifo_intr; 450 struct tegra_vgpu_fifo_intr_info fifo_intr;
435 struct tegra_vgpu_fifo_nonstall_intr_info fifo_nonstall_intr; 451 struct tegra_vgpu_fifo_nonstall_intr_info fifo_nonstall_intr;
436 struct tegra_vgpu_ce2_nonstall_intr_info ce2_nonstall_intr; 452 struct tegra_vgpu_ce2_nonstall_intr_info ce2_nonstall_intr;
453 struct tegra_vgpu_fecs_trace_event_info fecs_trace;
437 char padding[32]; 454 char padding[32];
438 } info; 455 } info;
439}; 456};