From 507081b2eae666f9c3e713fd7d9d97fdc8b6c56f Mon Sep 17 00:00:00 2001 From: seshendra Gadagottu Date: Wed, 28 Sep 2016 16:55:36 -0700 Subject: gpu: nvgpu: gv11b: kernel hw header update Kernel hardware headers updtae related to ctxsw, ramfc and pbdma. JIRA GV11B-21 Change-Id: I99588b420a814068eaf894e999a8ad8e6234e26c Signed-off-by: seshendra Gadagottu Reviewed-on: http://git-master/r/1228760 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gv11b/hw_ctxsw_prog_gv11b.h | 96 +++++++++++++++++++++++++-- drivers/gpu/nvgpu/gv11b/hw_gr_gv11b.h | 4 ++ drivers/gpu/nvgpu/gv11b/hw_pbdma_gv11b.h | 80 +++++++++++++++------- drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h | 32 +++++++++ 4 files changed, 184 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/nvgpu/gv11b/hw_ctxsw_prog_gv11b.h b/drivers/gpu/nvgpu/gv11b/hw_ctxsw_prog_gv11b.h index 57a6b28d..4ca83ea4 100644 --- a/drivers/gpu/nvgpu/gv11b/hw_ctxsw_prog_gv11b.h +++ b/drivers/gpu/nvgpu/gv11b/hw_ctxsw_prog_gv11b.h @@ -58,6 +58,42 @@ static inline u32 ctxsw_prog_main_image_num_gpcs_o(void) { return 0x00000008; } +static inline u32 ctxsw_prog_main_image_ctl_o(void) +{ + return 0x0000000c; +} +static inline u32 ctxsw_prog_main_image_ctl_type_f(u32 v) +{ + return (v & 0x3f) << 0; +} +static inline u32 ctxsw_prog_main_image_ctl_type_undefined_v(void) +{ + return 0x00000000; +} +static inline u32 ctxsw_prog_main_image_ctl_type_opengl_v(void) +{ + return 0x00000008; +} +static inline u32 ctxsw_prog_main_image_ctl_type_dx9_v(void) +{ + return 0x00000010; +} +static inline u32 ctxsw_prog_main_image_ctl_type_dx10_v(void) +{ + return 0x00000011; +} +static inline u32 ctxsw_prog_main_image_ctl_type_dx11_v(void) +{ + return 0x00000012; +} +static inline u32 ctxsw_prog_main_image_ctl_type_compute_v(void) +{ + return 0x00000020; +} +static inline u32 ctxsw_prog_main_image_ctl_type_per_veid_header_v(void) +{ + return 0x00000021; +} static inline u32 ctxsw_prog_main_image_patch_count_o(void) { return 0x00000010; @@ -142,6 +178,62 @@ static inline u32 ctxsw_prog_main_image_num_restore_ops_o(void) { return 0x000000f8; } +static inline u32 ctxsw_prog_main_image_zcull_ptr_hi_o(void) +{ + return 0x00000060; +} +static inline u32 ctxsw_prog_main_image_zcull_ptr_hi_v_f(u32 v) +{ + return (v & 0x1ffff) << 0; +} +static inline u32 ctxsw_prog_main_image_full_preemption_ptr_hi_o(void) +{ + return 0x00000064; +} +static inline u32 ctxsw_prog_main_image_full_preemption_ptr_hi_v_f(u32 v) +{ + return (v & 0x1ffff) << 0; +} +static inline u32 ctxsw_prog_main_image_full_preemption_ptr_o(void) +{ + return 0x00000068; +} +static inline u32 ctxsw_prog_main_image_full_preemption_ptr_v_f(u32 v) +{ + return (v & 0xffffffff) << 0; +} +static inline u32 ctxsw_prog_main_image_full_preemption_ptr_veid0_hi_o(void) +{ + return 0x00000070; +} +static inline u32 ctxsw_prog_main_image_full_preemption_ptr_veid0_hi_v_f(u32 v) +{ + return (v & 0x1ffff) << 0; +} +static inline u32 ctxsw_prog_main_image_full_preemption_ptr_veid0_o(void) +{ + return 0x00000074; +} +static inline u32 ctxsw_prog_main_image_full_preemption_ptr_veid0_v_f(u32 v) +{ + return (v & 0xffffffff) << 0; +} +static inline u32 ctxsw_prog_main_image_context_buffer_ptr_hi_o(void) +{ + return 0x00000078; +} +static inline u32 ctxsw_prog_main_image_context_buffer_ptr_hi_v_f(u32 v) +{ + return (v & 0x1ffff) << 0; +} +static inline u32 ctxsw_prog_main_image_context_buffer_ptr_o(void) +{ + return 0x0000007c; +} +static inline u32 ctxsw_prog_main_image_context_buffer_ptr_v_f(u32 v) +{ + return (v & 0xffffffff) << 0; +} static inline u32 ctxsw_prog_main_image_magic_value_o(void) { return 0x000000fc; @@ -270,10 +362,6 @@ static inline u32 ctxsw_prog_main_image_graphics_preemption_options_control_gfxp { return 0x1; } -static inline u32 ctxsw_prog_main_image_full_preemption_ptr_o(void) -{ - return 0x00000068; -} static inline u32 ctxsw_prog_main_image_compute_preemption_options_o(void) { return 0x00000084; diff --git a/drivers/gpu/nvgpu/gv11b/hw_gr_gv11b.h b/drivers/gpu/nvgpu/gv11b/hw_gr_gv11b.h index e8394215..c58ee6ba 100644 --- a/drivers/gpu/nvgpu/gv11b/hw_gr_gv11b.h +++ b/drivers/gpu/nvgpu/gv11b/hw_gr_gv11b.h @@ -3230,6 +3230,10 @@ static inline u32 gr_ppcs_wwdx_map_table_cfg_coeff_r(u32 i) { return 0x0041bfb0 + i*4; } +static inline u32 gr_ppcs_wwdx_map_table_cfg_coeff__size_1_v(void) +{ + return 0x00000005; +} static inline u32 gr_ppcs_wwdx_map_table_cfg_coeff_0_mod_value_f(u32 v) { return (v & 0xff) << 0; diff --git a/drivers/gpu/nvgpu/gv11b/hw_pbdma_gv11b.h b/drivers/gpu/nvgpu/gv11b/hw_pbdma_gv11b.h index 38d63487..be8089d8 100644 --- a/drivers/gpu/nvgpu/gv11b/hw_pbdma_gv11b.h +++ b/drivers/gpu/nvgpu/gv11b/hw_pbdma_gv11b.h @@ -130,22 +130,6 @@ static inline u32 pbdma_put_hi_r(u32 i) { return 0x00040060 + i*8192; } -static inline u32 pbdma_formats_r(u32 i) -{ - return 0x0004009c + i*8192; -} -static inline u32 pbdma_formats_gp_fermi0_f(void) -{ - return 0x0; -} -static inline u32 pbdma_formats_pb_fermi1_f(void) -{ - return 0x100; -} -static inline u32 pbdma_formats_mp_fermi0_f(void) -{ - return 0x0; -} static inline u32 pbdma_pb_header_r(u32 i) { return 0x00040084 + i*8192; @@ -242,14 +226,6 @@ static inline u32 pbdma_data0_r(u32 i) { return 0x000400c4 + i*8192; } -static inline u32 pbdma_target_r(u32 i) -{ - return 0x000400ac + i*8192; -} -static inline u32 pbdma_target_engine_sw_f(void) -{ - return 0x1f; -} static inline u32 pbdma_acquire_r(u32 i) { return 0x00040030 + i*8192; @@ -574,6 +550,62 @@ static inline u32 pbdma_runlist_timeslice_enable_true_f(void) { return 0x10000000; } +static inline u32 pbdma_target_r(u32 i) +{ + return 0x000400ac + i*8192; +} +static inline u32 pbdma_target_engine_sw_f(void) +{ + return 0x1f; +} +static inline u32 pbdma_target_eng_ctx_valid_true_f(void) +{ + return 0x10000; +} +static inline u32 pbdma_target_eng_ctx_valid_false_f(void) +{ + return 0x0; +} +static inline u32 pbdma_target_ce_ctx_valid_true_f(void) +{ + return 0x20000; +} +static inline u32 pbdma_target_ce_ctx_valid_false_f(void) +{ + return 0x0; +} +static inline u32 pbdma_target_host_tsg_event_reason_pbdma_idle_f(void) +{ + return 0x0; +} +static inline u32 pbdma_target_host_tsg_event_reason_semaphore_acquire_failure_f(void) +{ + return 0x1000000; +} +static inline u32 pbdma_target_host_tsg_event_reason_tsg_yield_f(void) +{ + return 0x2000000; +} +static inline u32 pbdma_target_host_tsg_event_reason_host_subchannel_switch_f(void) +{ + return 0x3000000; +} +static inline u32 pbdma_target_should_send_tsg_event_true_f(void) +{ + return 0x20000000; +} +static inline u32 pbdma_target_should_send_tsg_event_false_f(void) +{ + return 0x0; +} +static inline u32 pbdma_target_needs_host_tsg_event_true_f(void) +{ + return 0x80000000; +} +static inline u32 pbdma_target_needs_host_tsg_event_false_f(void) +{ + return 0x0; +} static inline u32 pbdma_set_channel_info_r(u32 i) { return 0x000400fc + i*8192; diff --git a/drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h b/drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h index 7c89db4d..868e4ad9 100644 --- a/drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h +++ b/drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h @@ -90,6 +90,38 @@ static inline u32 ram_in_page_dir_base_vol_false_f(void) { return 0x0; } +static inline u32 ram_in_page_dir_base_fault_replay_tex_f(u32 v) +{ + return (v & 0x1) << 4; +} +static inline u32 ram_in_page_dir_base_fault_replay_tex_m(void) +{ + return 0x1 << 4; +} +static inline u32 ram_in_page_dir_base_fault_replay_tex_w(void) +{ + return 128; +} +static inline u32 ram_in_page_dir_base_fault_replay_tex_true_f(void) +{ + return 0x10; +} +static inline u32 ram_in_page_dir_base_fault_replay_gcc_f(u32 v) +{ + return (v & 0x1) << 5; +} +static inline u32 ram_in_page_dir_base_fault_replay_gcc_m(void) +{ + return 0x1 << 5; +} +static inline u32 ram_in_page_dir_base_fault_replay_gcc_w(void) +{ + return 128; +} +static inline u32 ram_in_page_dir_base_fault_replay_gcc_true_f(void) +{ + return 0x20; +} static inline u32 ram_in_big_page_size_f(u32 v) { return (v & 0x1) << 11; -- cgit v1.2.2