diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2015-01-28 08:07:00 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 21:07:03 -0400 |
commit | bc1b5fdd56fff2a64a78b4a190897e34f9f08845 (patch) | |
tree | f37841e278840df2c71126a4e0eddd68d69c3aa0 /drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h | |
parent | aa96b6bd1efa1e26a757080137486884972d248c (diff) |
gpu: nvgpu: APIs to dump GR status
Add below APIs to dump various GR status registers
1. debugfs : /d/gpu.0/gr_status
Read this debugfs at runtime to get status registers
2. API gk20a_gr_debug_dump()
Add this API in code to dump registers at any point
Bug 200062436
Change-Id: Ic1115b5a2fc16362954b5ed8a9e70afb872a8d91
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/486465
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h b/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h index 23b5226a..9c33321f 100644 --- a/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h +++ b/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h | |||
@@ -222,6 +222,10 @@ static inline u32 gr_gpfifo_ctl_semaphore_access_enabled_f(void) | |||
222 | { | 222 | { |
223 | return 0x10000; | 223 | return 0x10000; |
224 | } | 224 | } |
225 | static inline u32 gr_gpfifo_status_r(void) | ||
226 | { | ||
227 | return 0x00400504; | ||
228 | } | ||
225 | static inline u32 gr_trapped_addr_r(void) | 229 | static inline u32 gr_trapped_addr_r(void) |
226 | { | 230 | { |
227 | return 0x00400704; | 231 | return 0x00400704; |
@@ -266,6 +270,14 @@ static inline u32 gr_status_mask_r(void) | |||
266 | { | 270 | { |
267 | return 0x00400610; | 271 | return 0x00400610; |
268 | } | 272 | } |
273 | static inline u32 gr_status_1_r(void) | ||
274 | { | ||
275 | return 0x00400604; | ||
276 | } | ||
277 | static inline u32 gr_status_2_r(void) | ||
278 | { | ||
279 | return 0x00400608; | ||
280 | } | ||
269 | static inline u32 gr_engine_status_r(void) | 281 | static inline u32 gr_engine_status_r(void) |
270 | { | 282 | { |
271 | return 0x0040060c; | 283 | return 0x0040060c; |
@@ -274,6 +286,138 @@ static inline u32 gr_engine_status_value_busy_f(void) | |||
274 | { | 286 | { |
275 | return 0x1; | 287 | return 0x1; |
276 | } | 288 | } |
289 | static inline u32 gr_activity_0_r(void) | ||
290 | { | ||
291 | return 0x00400380; | ||
292 | } | ||
293 | static inline u32 gr_activity_1_r(void) | ||
294 | { | ||
295 | return 0x00400384; | ||
296 | } | ||
297 | static inline u32 gr_activity_2_r(void) | ||
298 | { | ||
299 | return 0x00400388; | ||
300 | } | ||
301 | static inline u32 gr_activity_4_r(void) | ||
302 | { | ||
303 | return 0x00400390; | ||
304 | } | ||
305 | static inline u32 gr_pri_sked_activity_r(void) | ||
306 | { | ||
307 | return 0x00407054; | ||
308 | } | ||
309 | static inline u32 gr_pri_gpc0_gpccs_gpc_activity0_r(void) | ||
310 | { | ||
311 | return 0x00502c80; | ||
312 | } | ||
313 | static inline u32 gr_pri_gpc0_gpccs_gpc_activity1_r(void) | ||
314 | { | ||
315 | return 0x00502c84; | ||
316 | } | ||
317 | static inline u32 gr_pri_gpc0_gpccs_gpc_activity2_r(void) | ||
318 | { | ||
319 | return 0x00502c88; | ||
320 | } | ||
321 | static inline u32 gr_pri_gpc0_gpccs_gpc_activity3_r(void) | ||
322 | { | ||
323 | return 0x00502c8c; | ||
324 | } | ||
325 | static inline u32 gr_pri_gpc0_tpc0_tpccs_tpc_activity_0_r(void) | ||
326 | { | ||
327 | return 0x00504500; | ||
328 | } | ||
329 | static inline u32 gr_pri_gpc0_tpc1_tpccs_tpc_activity_0_r(void) | ||
330 | { | ||
331 | return 0x00504d00; | ||
332 | } | ||
333 | static inline u32 gr_pri_gpc0_tpcs_tpccs_tpc_activity_0_r(void) | ||
334 | { | ||
335 | return 0x00501d00; | ||
336 | } | ||
337 | static inline u32 gr_pri_gpcs_gpccs_gpc_activity_0_r(void) | ||
338 | { | ||
339 | return 0x0041ac80; | ||
340 | } | ||
341 | static inline u32 gr_pri_gpcs_gpccs_gpc_activity_1_r(void) | ||
342 | { | ||
343 | return 0x0041ac84; | ||
344 | } | ||
345 | static inline u32 gr_pri_gpcs_gpccs_gpc_activity_2_r(void) | ||
346 | { | ||
347 | return 0x0041ac88; | ||
348 | } | ||
349 | static inline u32 gr_pri_gpcs_gpccs_gpc_activity_3_r(void) | ||
350 | { | ||
351 | return 0x0041ac8c; | ||
352 | } | ||
353 | static inline u32 gr_pri_gpcs_tpc0_tpccs_tpc_activity_0_r(void) | ||
354 | { | ||
355 | return 0x0041c500; | ||
356 | } | ||
357 | static inline u32 gr_pri_gpcs_tpc1_tpccs_tpc_activity_0_r(void) | ||
358 | { | ||
359 | return 0x0041cd00; | ||
360 | } | ||
361 | static inline u32 gr_pri_gpcs_tpcs_tpccs_tpc_activity_0_r(void) | ||
362 | { | ||
363 | return 0x00419d00; | ||
364 | } | ||
365 | static inline u32 gr_pri_be0_becs_be_activity0_r(void) | ||
366 | { | ||
367 | return 0x00410200; | ||
368 | } | ||
369 | static inline u32 gr_pri_be1_becs_be_activity0_r(void) | ||
370 | { | ||
371 | return 0x00410600; | ||
372 | } | ||
373 | static inline u32 gr_pri_bes_becs_be_activity0_r(void) | ||
374 | { | ||
375 | return 0x00408a00; | ||
376 | } | ||
377 | static inline u32 gr_pri_ds_mpipe_status_r(void) | ||
378 | { | ||
379 | return 0x00405858; | ||
380 | } | ||
381 | static inline u32 gr_pri_fe_go_idle_on_status_r(void) | ||
382 | { | ||
383 | return 0x00404150; | ||
384 | } | ||
385 | static inline u32 gr_pri_fe_go_idle_check_r(void) | ||
386 | { | ||
387 | return 0x00404158; | ||
388 | } | ||
389 | static inline u32 gr_pri_fe_go_idle_info_r(void) | ||
390 | { | ||
391 | return 0x00404194; | ||
392 | } | ||
393 | static inline u32 gr_pri_gpc0_tpc0_tex_m_tex_subunits_status_r(void) | ||
394 | { | ||
395 | return 0x00504238; | ||
396 | } | ||
397 | static inline u32 gr_pri_be0_crop_status1_r(void) | ||
398 | { | ||
399 | return 0x00410134; | ||
400 | } | ||
401 | static inline u32 gr_pri_bes_crop_status1_r(void) | ||
402 | { | ||
403 | return 0x00408934; | ||
404 | } | ||
405 | static inline u32 gr_pri_be0_zrop_status_r(void) | ||
406 | { | ||
407 | return 0x00410048; | ||
408 | } | ||
409 | static inline u32 gr_pri_be0_zrop_status2_r(void) | ||
410 | { | ||
411 | return 0x0041004c; | ||
412 | } | ||
413 | static inline u32 gr_pri_bes_zrop_status_r(void) | ||
414 | { | ||
415 | return 0x00408848; | ||
416 | } | ||
417 | static inline u32 gr_pri_bes_zrop_status2_r(void) | ||
418 | { | ||
419 | return 0x0040884c; | ||
420 | } | ||
277 | static inline u32 gr_pipe_bundle_address_r(void) | 421 | static inline u32 gr_pipe_bundle_address_r(void) |
278 | { | 422 | { |
279 | return 0x00400200; | 423 | return 0x00400200; |
@@ -1062,6 +1206,26 @@ static inline u32 gr_fecs_arb_ctx_cmd_cmd_v(u32 r) | |||
1062 | { | 1206 | { |
1063 | return (r >> 0) & 0x1f; | 1207 | return (r >> 0) & 0x1f; |
1064 | } | 1208 | } |
1209 | static inline u32 gr_fecs_ctxsw_status_fe_0_r(void) | ||
1210 | { | ||
1211 | return 0x00409c00; | ||
1212 | } | ||
1213 | static inline u32 gr_gpc0_gpccs_ctxsw_status_gpc_0_r(void) | ||
1214 | { | ||
1215 | return 0x00502c04; | ||
1216 | } | ||
1217 | static inline u32 gr_gpc0_gpccs_ctxsw_status_1_r(void) | ||
1218 | { | ||
1219 | return 0x00502400; | ||
1220 | } | ||
1221 | static inline u32 gr_fecs_ctxsw_idlestate_r(void) | ||
1222 | { | ||
1223 | return 0x00409420; | ||
1224 | } | ||
1225 | static inline u32 gr_gpc0_gpccs_ctxsw_idlestate_r(void) | ||
1226 | { | ||
1227 | return 0x00502420; | ||
1228 | } | ||
1065 | static inline u32 gr_rstr2d_gpc_map0_r(void) | 1229 | static inline u32 gr_rstr2d_gpc_map0_r(void) |
1066 | { | 1230 | { |
1067 | return 0x0040780c; | 1231 | return 0x0040780c; |