diff options
author | Aingara Paramakuru <aparamakuru@nvidia.com> | 2015-04-15 16:10:30 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-06-22 11:56:36 -0400 |
commit | 788776c9aa2028a0672c07271e9c06ed684f74a8 (patch) | |
tree | 7afe8a93d8076ffc3cf77279f4954f096c795492 /include/linux/tegra_vgpu.h | |
parent | f877d0649c40c183f02953b192b0a352e5153851 (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.h | 27 |
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 | ||
259 | struct tegra_vgpu_gr_intr_info { | 263 | struct 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 | ||
268 | struct tegra_vgpu_gr_nonstall_intr_info { | ||
269 | u32 type; | ||
270 | }; | ||
271 | |||
264 | struct tegra_vgpu_fifo_intr_info { | 272 | struct tegra_vgpu_fifo_intr_info { |
265 | u32 type; | 273 | u32 type; |
266 | u32 chid; | 274 | u32 chid; |
267 | }; | 275 | }; |
268 | 276 | ||
277 | struct tegra_vgpu_fifo_nonstall_intr_info { | ||
278 | u32 type; | ||
279 | }; | ||
280 | |||
281 | struct tegra_vgpu_ce2_nonstall_intr_info { | ||
282 | u32 type; | ||
283 | }; | ||
284 | |||
269 | enum { | 285 | enum { |
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 | ||
274 | enum { | 294 | enum { |
@@ -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 | ||