summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/hw_ctxsw_prog_gp10b.h
diff options
context:
space:
mode:
authorThomas Fleury <tfleury@nvidia.com>2016-02-15 05:15:19 -0500
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:11 -0500
commitf7872bec493d285d1f8a2c0bda69d9247f932b27 (patch)
tree72341fde584fc596207ac708b3f9358348f2227f /drivers/gpu/nvgpu/gp10b/hw_ctxsw_prog_gp10b.h
parent9864f1b0773c079f4517f3bfadddd24b1d5859a6 (diff)
gpu: nvpgu: setup fecs_trace hal operations
bug 1648908 Change-Id: I630f74f09e0a4143f5028c88634b9793ec86b279 Signed-off-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-on: http://git-master/r/1022730 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/hw_ctxsw_prog_gp10b.h')
-rw-r--r--drivers/gpu/nvgpu/gp10b/hw_ctxsw_prog_gp10b.h184
1 files changed, 182 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/hw_ctxsw_prog_gp10b.h b/drivers/gpu/nvgpu/gp10b/hw_ctxsw_prog_gp10b.h
index 49e92df9..eef9a96f 100644
--- a/drivers/gpu/nvgpu/gp10b/hw_ctxsw_prog_gp10b.h
+++ b/drivers/gpu/nvgpu/gp10b/hw_ctxsw_prog_gp10b.h
@@ -62,6 +62,10 @@ static inline u32 ctxsw_prog_main_image_patch_count_o(void)
62{ 62{
63 return 0x00000010; 63 return 0x00000010;
64} 64}
65static inline u32 ctxsw_prog_main_image_context_id_o(void)
66{
67 return 0x000000f0;
68}
65static inline u32 ctxsw_prog_main_image_patch_adr_lo_o(void) 69static inline u32 ctxsw_prog_main_image_patch_adr_lo_o(void)
66{ 70{
67 return 0x00000014; 71 return 0x00000014;
@@ -286,8 +290,184 @@ static inline u32 ctxsw_prog_main_image_compute_preemption_options_control_cilp_
286{ 290{
287 return 0x2; 291 return 0x2;
288} 292}
289static inline u32 ctxsw_prog_main_image_context_id_o(void) 293static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_control_o(void)
290{ 294{
291 return 0x000000f0; 295 return 0x000000ac;
296}
297static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_control_num_records_f(u32 v)
298{
299 return (v & 0xffff) << 0;
300}
301static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_o(void)
302{
303 return 0x000000b0;
304}
305static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_v_m(void)
306{
307 return 0xfffffff << 0;
308}
309static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_target_m(void)
310{
311 return 0x3 << 28;
312}
313static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_target_vid_mem_f(void)
314{
315 return 0x0;
316}
317static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_target_sys_mem_coherent_f(void)
318{
319 return 0x20000000;
320}
321static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_hi_target_sys_mem_noncoherent_f(void)
322{
323 return 0x30000000;
324}
325static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_o(void)
326{
327 return 0x000000b4;
328}
329static inline u32 ctxsw_prog_main_image_context_timestamp_buffer_ptr_v_f(u32 v)
330{
331 return (v & 0xffffffff) << 0;
332}
333static inline u32 ctxsw_prog_record_timestamp_record_size_in_bytes_v(void)
334{
335 return 0x00000080;
336}
337static inline u32 ctxsw_prog_record_timestamp_record_size_in_words_v(void)
338{
339 return 0x00000020;
340}
341static inline u32 ctxsw_prog_record_timestamp_magic_value_lo_o(void)
342{
343 return 0x00000000;
344}
345static inline u32 ctxsw_prog_record_timestamp_magic_value_lo_v_value_v(void)
346{
347 return 0x00000000;
348}
349static inline u32 ctxsw_prog_record_timestamp_magic_value_hi_o(void)
350{
351 return 0x00000004;
352}
353static inline u32 ctxsw_prog_record_timestamp_magic_value_hi_v_value_v(void)
354{
355 return 0x600dbeef;
356}
357static inline u32 ctxsw_prog_record_timestamp_context_id_o(void)
358{
359 return 0x00000008;
360}
361static inline u32 ctxsw_prog_record_timestamp_context_ptr_o(void)
362{
363 return 0x0000000c;
364}
365static inline u32 ctxsw_prog_record_timestamp_timestamp_lo_o(void)
366{
367 return 0x00000018;
368}
369static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_o(void)
370{
371 return 0x0000001c;
372}
373static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_v_f(u32 v)
374{
375 return (v & 0xffffff) << 0;
376}
377static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_v_v(u32 r)
378{
379 return (r >> 0) & 0xffffff;
380}
381static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_f(u32 v)
382{
383 return (v & 0xff) << 24;
384}
385static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_m(void)
386{
387 return 0xff << 24;
388}
389static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_v(u32 r)
390{
391 return (r >> 24) & 0xff;
392}
393static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_ctxsw_req_by_host_v(void)
394{
395 return 0x00000001;
396}
397static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_ctxsw_req_by_host_f(void)
398{
399 return 0x1000000;
400}
401static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_v(void)
402{
403 return 0x00000002;
404}
405static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_f(void)
406{
407 return 0x2000000;
408}
409static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_wfi_v(void)
410{
411 return 0x0000000a;
412}
413static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_wfi_f(void)
414{
415 return 0xa000000;
416}
417static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_gfxp_v(void)
418{
419 return 0x0000000b;
420}
421static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_gfxp_f(void)
422{
423 return 0xb000000;
424}
425static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_ctap_v(void)
426{
427 return 0x0000000c;
428}
429static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_ctap_f(void)
430{
431 return 0xc000000;
432}
433static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_cilp_v(void)
434{
435 return 0x0000000d;
436}
437static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_fe_ack_cilp_f(void)
438{
439 return 0xd000000;
440}
441static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_save_end_v(void)
442{
443 return 0x00000003;
444}
445static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_save_end_f(void)
446{
447 return 0x3000000;
448}
449static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_restore_start_v(void)
450{
451 return 0x00000004;
452}
453static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_restore_start_f(void)
454{
455 return 0x4000000;
456}
457static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_context_start_v(void)
458{
459 return 0x00000005;
460}
461static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_context_start_f(void)
462{
463 return 0x5000000;
464}
465static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_invalid_timestamp_v(void)
466{
467 return 0x000000ff;
468}
469static inline u32 ctxsw_prog_record_timestamp_timestamp_hi_tag_invalid_timestamp_f(void)
470{
471 return 0xff000000;
292} 472}
293#endif 473#endif