summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-01-11 15:40:13 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-01-27 13:53:25 -0500
commitfa3f8cc10186ab18952433f1838fb657f220adc5 (patch)
tree25fedb8d37a58b0bd23e4bc1da4efa87cb267c5a /drivers/gpu/nvgpu/gk20a/mm_gk20a.h
parentc05cfcb576a96c8239201c71627f348b1ad79670 (diff)
gpu: nvgpu: Remove circular dependency in PMU includes
Remove including gk20a.h from pmu_gk20a.h. This causes a fallout as some #includes were missing. gr_gp10b.h uses mem_desc, but did not include mm_gk20a.h. Add the include. Including mm_gk20a.h in gr_gp10b.h causes recursive include, as mm_gk20a.h has some gr defines. Move the defines to gr_gk20a.h to remove the dependency. gr_ctx_gk20a.h used struct gk20a pointers, but did not forward declare it. Add a forward declaration. gr_gk20a.h uses dbg_session_gk20a, but was missing forward declaration. gr_gk20a.h did not include nvgpu.h but it uses preemption types from that header. Add include. Change-Id: I2168e2303b55e0d187b816bcb26f37c8af1649ba Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1283717 Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.h28
1 files changed, 1 insertions, 27 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
index 2b741451..5ef8ae25 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * GK20A memory management 2 * GK20A memory management
3 * 3 *
4 * Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved. 4 * Copyright (c) 2011-2017, NVIDIA CORPORATION. All rights reserved.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 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, 7 * under the terms and conditions of the GNU General Public License,
@@ -112,32 +112,6 @@ struct pm_ctx_desc {
112}; 112};
113 113
114struct gk20a; 114struct gk20a;
115struct gr_ctx_buffer_desc {
116 void (*destroy)(struct gk20a *, struct gr_ctx_buffer_desc *);
117 struct mem_desc mem;
118 void *priv;
119};
120
121#ifdef CONFIG_ARCH_TEGRA_18x_SOC
122#include "gr_t18x.h"
123#endif
124
125struct gr_ctx_desc {
126 struct mem_desc mem;
127
128 u32 graphics_preempt_mode;
129 u32 compute_preempt_mode;
130#ifdef CONFIG_ARCH_TEGRA_18x_SOC
131 struct gr_ctx_desc_t18x t18x;
132#endif
133#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION
134 u64 virt_ctx;
135#endif
136};
137
138struct ctx_header_desc {
139 struct mem_desc mem;
140};
141 115
142struct compbit_store_desc { 116struct compbit_store_desc {
143 struct mem_desc mem; 117 struct mem_desc mem;