summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/hw_ctxsw_prog_gm20b.h
diff options
context:
space:
mode:
authorThomas Fleury <tfleury@nvidia.com>2016-03-22 18:17:29 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-04-07 16:54:35 -0400
commit327644a1a0af43ce2e369bd0a87b7e2142368285 (patch)
tree25276e1a5f058b58173039064ef6c3f457475827 /drivers/gpu/nvgpu/gm20b/hw_ctxsw_prog_gm20b.h
parent6c01d88ad90cf8c6ce59b2049e8674a493b35200 (diff)
gpu: nvgpu: hw definitions for FECS trace on gm20b
Bug 1648908 Change-Id: I3b9a1ebaf062f15db397acd81b8312dc8daa9193 Signed-off-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-on: http://git-master/r/1117262 Reviewed-on: http://git-master/r/1121233 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/hw_ctxsw_prog_gm20b.h')
-rw-r--r--drivers/gpu/nvgpu/gm20b/hw_ctxsw_prog_gm20b.h188
1 files changed, 188 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/hw_ctxsw_prog_gm20b.h b/drivers/gpu/nvgpu/gm20b/hw_ctxsw_prog_gm20b.h
index a44eac16..c9bf4b4f 100644
--- a/drivers/gpu/nvgpu/gm20b/hw_ctxsw_prog_gm20b.h
+++ b/drivers/gpu/nvgpu/gm20b/hw_ctxsw_prog_gm20b.h
@@ -258,6 +258,194 @@ static inline u32 ctxsw_prog_main_image_misc_options_verif_features_disabled_f(v
258{ 258{
259 return 0x0; 259 return 0x0;
260} 260}
261static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_control_o(void)
262{
263 return 0x000000ac;
264}
265static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_control_num_records_f(u32 v)
266{
267 return (v & 0xffff) << 0;
268}
269static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_o(void)
270{
271 return 0x000000b0;
272}
273static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_v_m(void)
274{
275 return 0xfffffff << 0;
276}
277static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_target_m(void)
278{
279 return 0x3 << 28;
280}
281static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_target_vid_mem_f(void)
282{
283 return 0x0;
284}
285static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_target_sys_mem_coherent_f(void)
286{
287 return 0x20000000;
288}
289static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_target_sys_mem_noncoherent_f(void)
290{
291 return 0x30000000;
292}
293static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_o(void)
294{
295 return 0x000000b4;
296}
297static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_v_f(u32 v)
298{
299 return (v & 0xffffffff) << 0;
300}
301static inline u32 ctxsw_prog_record_timestamp_record_size_in_bytes_v(void)
302{
303 return 0x00000080;
304}
305static inline u32 ctxsw_prog_record_timestamp_record_size_in_words_v(void)
306{
307 return 0x00000020;
308}
309static inline u32 ctxsw_prog_record_timestamp_magic_value_lo_o(void)
310{
311 return 0x00000000;
312}
313static inline u32 ctxsw_prog_record_timestamp_magic_value_lo_v_value_v(void)
314{
315 return 0x00000000;
316}
317static inline u32 ctxsw_prog_record_timestamp_magic_value_hi_o(void)
318{
319 return 0x00000004;
320}
321static inline u32 ctxsw_prog_record_timestamp_magic_value_hi_v_value_v(void)
322{
323 return 0x600dbeef;
324}
325static inline u32 ctxsw_prog_record_timestamp_context_id_o(void)
326{
327 return 0x00000008;
328}
329static inline u32 ctxsw_prog_record_timestamp_context_ptr_o(void)
330{
331 return 0x0000000c;
332}
333static inline u32 ctxsw_prog_record_timestamp_new_context_id_o(void)
334{
335 return 0x00000010;
336}
337static inline u32 ctxsw_prog_record_timestamp_new_context_ptr_o(void)
338{
339 return 0x00000014;
340}
341static inline u32 ctxsw_prog_record_timestamp_timestamp_lo_o(void)
342{
343 return 0x00000018;
344}
345static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_o(void)
346{
347 return 0x0000001c;
348}
349static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_v_f(u32 v)
350{
351 return (v & 0xffffff) << 0;
352}
353static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_v_v(u32 r)
354{
355 return (r >> 0) & 0xffffff;
356}
357static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_f(u32 v)
358{
359 return (v & 0xff) << 24;
360}
361static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_m(void)
362{
363 return 0xff << 24;
364}
365static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_v(u32 r)
366{
367 return (r >> 24) & 0xff;
368}
369static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_ctxsw_req_by_host_v(void)
370{
371 return 0x00000001;
372}
373static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_ctxsw_req_by_host_f(void)
374{
375 return 0x1000000;
376}
377static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_v(void)
378{
379 return 0x00000002;
380}
381static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_f(void)
382{
383 return 0x2000000;
384}
385static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_wfi_v(void)
386{
387 return 0x0000000a;
388}
389static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_wfi_f(void)
390{
391 return 0xa000000;
392}
393static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_gfxp_v(void)
394{
395 return 0x0000000b;
396}
397static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_gfxp_f(void)
398{
399 return 0xb000000;
400}
401static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_ctap_v(void)
402{
403 return 0x0000000c;
404}
405static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_ctap_f(void)
406{
407 return 0xc000000;
408}
409static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_cilp_v(void)
410{
411 return 0x0000000d;
412}
413static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_cilp_f(void)
414{
415 return 0xd000000;
416}
417static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_save_end_v(void)
418{
419 return 0x00000003;
420}
421static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_save_end_f(void)
422{
423 return 0x3000000;
424}
425static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_restore_start_v(void)
426{
427 return 0x00000004;
428}
429static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_restore_start_f(void)
430{
431 return 0x4000000;
432}
433static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_context_start_v(void)
434{
435 return 0x00000005;
436}
437static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_context_start_f(void)
438{
439 return 0x5000000;
440}
441static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_invalid_timestamp_v(void)
442{
443 return 0x000000ff;
444}
445static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_invalid_timestamp_f(void)
446{
447 return 0xff000000;
448}
261static inline u32 ctxsw_prog_main_image_preemption_options_o(void) 449static inline u32 ctxsw_prog_main_image_preemption_options_o(void)
262{ 450{
263 return 0x00000060; 451 return 0x00000060;