summaryrefslogtreecommitdiffstats
path: root/include/linux/tegra_vgpu.h
diff options
context:
space:
mode:
authorAingara Paramakuru <aparamakuru@nvidia.com>2015-04-15 16:10:30 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2015-06-22 11:56:36 -0400
commit788776c9aa2028a0672c07271e9c06ed684f74a8 (patch)
tree7afe8a93d8076ffc3cf77279f4954f096c795492 /include/linux/tegra_vgpu.h
parentf877d0649c40c183f02953b192b0a352e5153851 (diff)
gpu: nvgpu: vgpu: support additional notifications
Client notification support is now added for the following: - stalling and non-stalling GR sema release - non-stalling FIFO channel intr - non-stalling CE2 nonblockpipe intr Bug 200097077 Change-Id: Icd3c076d7880e1c9ef1fcc0fc58eed9f23f39277 Signed-off-by: Aingara Paramakuru <aparamakuru@nvidia.com> Reviewed-on: http://git-master/r/736064 (cherry picked from commit 0585d1f14d5a5ae1ccde8ccb7b7daa5593b3d1bc) Reviewed-on: http://git-master/r/759824 Reviewed-by: Automatic_Commit_Validation_User 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, 25 insertions, 2 deletions
diff --git a/include/linux/tegra_vgpu.h b/include/linux/tegra_vgpu.h
index a295c9ef..7c4aa323 100644
--- a/include/linux/tegra_vgpu.h
+++ b/include/linux/tegra_vgpu.h
@@ -251,9 +251,13 @@ enum {
251 TEGRA_VGPU_GR_INTR_CLASS_ERROR, 251 TEGRA_VGPU_GR_INTR_CLASS_ERROR,
252 TEGRA_VGPU_GR_INTR_FIRMWARE_METHOD, 252 TEGRA_VGPU_GR_INTR_FIRMWARE_METHOD,
253 TEGRA_VGPU_GR_INTR_EXCEPTION, 253 TEGRA_VGPU_GR_INTR_EXCEPTION,
254 TEGRA_VGPU_GR_INTR_SEMAPHORE,
254 TEGRA_VGPU_FIFO_INTR_PBDMA, 255 TEGRA_VGPU_FIFO_INTR_PBDMA,
255 TEGRA_VGPU_FIFO_INTR_CTXSW_TIMEOUT, 256 TEGRA_VGPU_FIFO_INTR_CTXSW_TIMEOUT,
256 TEGRA_VGPU_FIFO_INTR_MMU_FAULT 257 TEGRA_VGPU_FIFO_INTR_MMU_FAULT,
258 TEGRA_VGPU_GR_NONSTALL_INTR_SEMAPHORE,
259 TEGRA_VGPU_FIFO_NONSTALL_INTR_CHANNEL,
260 TEGRA_VGPU_CE2_NONSTALL_INTR_NONBLOCKPIPE
257}; 261};
258 262
259struct tegra_vgpu_gr_intr_info { 263struct tegra_vgpu_gr_intr_info {
@@ -261,14 +265,30 @@ struct tegra_vgpu_gr_intr_info {
261 u32 chid; 265 u32 chid;
262}; 266};
263 267
268struct tegra_vgpu_gr_nonstall_intr_info {
269 u32 type;
270};
271
264struct tegra_vgpu_fifo_intr_info { 272struct tegra_vgpu_fifo_intr_info {
265 u32 type; 273 u32 type;
266 u32 chid; 274 u32 chid;
267}; 275};
268 276
277struct tegra_vgpu_fifo_nonstall_intr_info {
278 u32 type;
279};
280
281struct tegra_vgpu_ce2_nonstall_intr_info {
282 u32 type;
283};
284
269enum { 285enum {
270 TEGRA_VGPU_INTR_GR = 0, 286 TEGRA_VGPU_INTR_GR = 0,
271 TEGRA_VGPU_INTR_FIFO 287 TEGRA_VGPU_INTR_FIFO,
288 TEGRA_VGPU_INTR_CE2,
289 TEGRA_VGPU_NONSTALL_INTR_GR,
290 TEGRA_VGPU_NONSTALL_INTR_FIFO,
291 TEGRA_VGPU_NONSTALL_INTR_CE2
272}; 292};
273 293
274enum { 294enum {
@@ -281,7 +301,10 @@ struct tegra_vgpu_intr_msg {
281 u32 unit; 301 u32 unit;
282 union { 302 union {
283 struct tegra_vgpu_gr_intr_info gr_intr; 303 struct tegra_vgpu_gr_intr_info gr_intr;
304 struct tegra_vgpu_gr_nonstall_intr_info gr_nonstall_intr;
284 struct tegra_vgpu_fifo_intr_info fifo_intr; 305 struct tegra_vgpu_fifo_intr_info fifo_intr;
306 struct tegra_vgpu_fifo_nonstall_intr_info fifo_nonstall_intr;
307 struct tegra_vgpu_ce2_nonstall_intr_info ce2_nonstall_intr;
285 } info; 308 } info;
286}; 309};
287 310