summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h')
-rw-r--r--drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h170
1 files changed, 91 insertions, 79 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h b/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h
index 21a46d33..95d06cc6 100644
--- a/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h
+++ b/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h
@@ -78,6 +78,26 @@ static inline u32 gr_intr_illegal_method_reset_f(void)
78{ 78{
79 return 0x10; 79 return 0x10;
80} 80}
81static inline u32 gr_intr_illegal_notify_pending_f(void)
82{
83 return 0x40;
84}
85static inline u32 gr_intr_illegal_notify_reset_f(void)
86{
87 return 0x40;
88}
89static inline u32 gr_intr_firmware_method_f(u32 v)
90{
91 return (v & 0x1) << 8;
92}
93static inline u32 gr_intr_firmware_method_pending_f(void)
94{
95 return 0x100;
96}
97static inline u32 gr_intr_firmware_method_reset_f(void)
98{
99 return 0x100;
100}
81static inline u32 gr_intr_illegal_class_pending_f(void) 101static inline u32 gr_intr_illegal_class_pending_f(void)
82{ 102{
83 return 0x20; 103 return 0x20;
@@ -86,6 +106,14 @@ static inline u32 gr_intr_illegal_class_reset_f(void)
86{ 106{
87 return 0x20; 107 return 0x20;
88} 108}
109static inline u32 gr_intr_fecs_error_pending_f(void)
110{
111 return 0x80000;
112}
113static inline u32 gr_intr_fecs_error_reset_f(void)
114{
115 return 0x80000;
116}
89static inline u32 gr_intr_class_error_pending_f(void) 117static inline u32 gr_intr_class_error_pending_f(void)
90{ 118{
91 return 0x100000; 119 return 0x100000;
@@ -102,6 +130,26 @@ static inline u32 gr_intr_exception_reset_f(void)
102{ 130{
103 return 0x200000; 131 return 0x200000;
104} 132}
133static inline u32 gr_fecs_intr_r(void)
134{
135 return 0x00400144;
136}
137static inline u32 gr_class_error_r(void)
138{
139 return 0x00400110;
140}
141static inline u32 gr_class_error_code_v(u32 r)
142{
143 return (r >> 0) & 0xffff;
144}
145static inline u32 gr_intr_nonstall_r(void)
146{
147 return 0x00400120;
148}
149static inline u32 gr_intr_nonstall_trap_pending_f(void)
150{
151 return 0x2;
152}
105static inline u32 gr_intr_en_r(void) 153static inline u32 gr_intr_en_r(void)
106{ 154{
107 return 0x0040013c; 155 return 0x0040013c;
@@ -198,6 +246,10 @@ static inline u32 gr_status_r(void)
198{ 246{
199 return 0x00400700; 247 return 0x00400700;
200} 248}
249static inline u32 gr_status_fe_method_upper_v(u32 r)
250{
251 return (r >> 1) & 0x1;
252}
201static inline u32 gr_status_fe_method_lower_v(u32 r) 253static inline u32 gr_status_fe_method_lower_v(u32 r)
202{ 254{
203 return (r >> 2) & 0x1; 255 return (r >> 2) & 0x1;
@@ -206,6 +258,10 @@ static inline u32 gr_status_fe_method_lower_idle_v(void)
206{ 258{
207 return 0x00000000; 259 return 0x00000000;
208} 260}
261static inline u32 gr_status_fe_gi_v(u32 r)
262{
263 return (r >> 21) & 0x1;
264}
209static inline u32 gr_status_mask_r(void) 265static inline u32 gr_status_mask_r(void)
210{ 266{
211 return 0x00400610; 267 return 0x00400610;
@@ -662,6 +718,22 @@ static inline u32 gr_fecs_method_push_adr_set_watchdog_timeout_f(void)
662{ 718{
663 return 0x21; 719 return 0x21;
664} 720}
721static inline u32 gr_fecs_host_int_status_r(void)
722{
723 return 0x00409c18;
724}
725static inline u32 gr_fecs_host_int_status_umimp_firmware_method_f(u32 v)
726{
727 return (v & 0x1) << 17;
728}
729static inline u32 gr_fecs_host_int_status_umimp_illegal_method_f(u32 v)
730{
731 return (v & 0x1) << 18;
732}
733static inline u32 gr_fecs_host_int_clear_r(void)
734{
735 return 0x00409c20;
736}
665static inline u32 gr_fecs_host_int_enable_r(void) 737static inline u32 gr_fecs_host_int_enable_r(void)
666{ 738{
667 return 0x00409c24; 739 return 0x00409c24;
@@ -2570,26 +2642,6 @@ static inline u32 gr_gpcs_tpcs_mpc_vtg_cb_global_base_addr_valid_true_f(void)
2570{ 2642{
2571 return 0x10000000; 2643 return 0x10000000;
2572} 2644}
2573static inline u32 gr_gpcs_tpcs_sm_pm_ctrl_r(void)
2574{
2575 return 0x00419e00;
2576}
2577static inline u32 gr_gpcs_tpcs_sm_pm_ctrl_core_enable_m(void)
2578{
2579 return 0x1 << 7;
2580}
2581static inline u32 gr_gpcs_tpcs_sm_pm_ctrl_core_enable_enable_f(void)
2582{
2583 return 0x80;
2584}
2585static inline u32 gr_gpcs_tpcs_sm_pm_ctrl_qctl_enable_m(void)
2586{
2587 return 0x1 << 15;
2588}
2589static inline u32 gr_gpcs_tpcs_sm_pm_ctrl_qctl_enable_enable_f(void)
2590{
2591 return 0x8000;
2592}
2593static inline u32 gr_gpcs_tpcs_sm_hww_warp_esr_report_mask_r(void) 2645static inline u32 gr_gpcs_tpcs_sm_hww_warp_esr_report_mask_r(void)
2594{ 2646{
2595 return 0x00419e44; 2647 return 0x00419e44;
@@ -2714,51 +2766,51 @@ static inline u32 gr_gpcs_tpcs_sm_hww_global_esr_report_mask_single_step_complet
2714{ 2766{
2715 return 0x40; 2767 return 0x40;
2716} 2768}
2717static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_en_r(void) 2769static inline u32 gr_gpcs_tpcs_tpccs_tpc_exception_en_r(void)
2718{ 2770{
2719 return 0x0050450c; 2771 return 0x00419d0c;
2720} 2772}
2721static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_en_sm_enabled_f(void) 2773static inline u32 gr_gpcs_tpcs_tpccs_tpc_exception_en_sm_enabled_f(void)
2722{ 2774{
2723 return 0x2; 2775 return 0x2;
2724} 2776}
2725static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_en_sm_disabled_f(void) 2777static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_en_r(void)
2726{ 2778{
2727 return 0x0; 2779 return 0x0050450c;
2728} 2780}
2729static inline u32 gr_gpc0_gpccs_gpc_exception_en_r(void) 2781static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_en_sm_enabled_f(void)
2730{ 2782{
2731 return 0x00502c94; 2783 return 0x2;
2732} 2784}
2733static inline u32 gr_gpc0_gpccs_gpc_exception_en_tpc_0_enabled_f(void) 2785static inline u32 gr_gpcs_gpccs_gpc_exception_en_r(void)
2734{ 2786{
2735 return 0x10000; 2787 return 0x0041ac94;
2736} 2788}
2737static inline u32 gr_gpc0_gpccs_gpc_exception_en_tpc_0_disabled_f(void) 2789static inline u32 gr_gpcs_gpccs_gpc_exception_en_tpc_f(u32 v)
2738{ 2790{
2739 return 0x0; 2791 return (v & 0xff) << 16;
2740} 2792}
2741static inline u32 gr_gpcs_gpccs_gpc_exception_r(void) 2793static inline u32 gr_gpc0_gpccs_gpc_exception_r(void)
2742{ 2794{
2743 return 0x0041ac90; 2795 return 0x00502c90;
2744} 2796}
2745static inline u32 gr_gpcs_gpccs_gpc_exception_tpc_v(u32 r) 2797static inline u32 gr_gpc0_gpccs_gpc_exception_tpc_v(u32 r)
2746{ 2798{
2747 return (r >> 16) & 0xff; 2799 return (r >> 16) & 0xff;
2748} 2800}
2749static inline u32 gr_gpcs_gpccs_gpc_exception_tpc_0_pending_v(void) 2801static inline u32 gr_gpc0_gpccs_gpc_exception_tpc_0_pending_v(void)
2750{ 2802{
2751 return 0x00000001; 2803 return 0x00000001;
2752} 2804}
2753static inline u32 gr_gpcs_tpcs_tpccs_tpc_exception_r(void) 2805static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_r(void)
2754{ 2806{
2755 return 0x00419d08; 2807 return 0x00504508;
2756} 2808}
2757static inline u32 gr_gpcs_tpcs_tpccs_tpc_exception_sm_v(u32 r) 2809static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_sm_v(u32 r)
2758{ 2810{
2759 return (r >> 1) & 0x1; 2811 return (r >> 1) & 0x1;
2760} 2812}
2761static inline u32 gr_gpcs_tpcs_tpccs_tpc_exception_sm_pending_v(void) 2813static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_sm_pending_v(void)
2762{ 2814{
2763 return 0x00000001; 2815 return 0x00000001;
2764} 2816}
@@ -2854,10 +2906,6 @@ static inline u32 gr_gpcs_tpcs_sm_debug_sfe_control_read_half_ctl_f(u32 v)
2854{ 2906{
2855 return (v & 0x1) << 0; 2907 return (v & 0x1) << 0;
2856} 2908}
2857static inline u32 gr_gpcs_tpcs_sm_power_throttle_r(void)
2858{
2859 return 0x00419ed8;
2860}
2861static inline u32 gr_gpcs_tpcs_pes_vsc_vpc_r(void) 2909static inline u32 gr_gpcs_tpcs_pes_vsc_vpc_r(void)
2862{ 2910{
2863 return 0x0041be08; 2911 return 0x0041be08;
@@ -3122,42 +3170,6 @@ static inline u32 gr_fe_pwr_mode_req_done_v(void)
3122{ 3170{
3123 return 0x00000000; 3171 return 0x00000000;
3124} 3172}
3125static inline u32 gr_gpcs_tpcs_sm_sfe_ba_control_r(void)
3126{
3127 return 0x00419f88;
3128}
3129static inline u32 gr_gpcs_tpcs_sm_sfe_ba_control_blkactivity_enable_f(u32 v)
3130{
3131 return (v & 0x1) << 31;
3132}
3133static inline u32 gr_gpcs_tpcs_sm_sfe_ba_control_blkactivity_enable_m(void)
3134{
3135 return 0x1 << 31;
3136}
3137static inline u32 gr_gpcs_tpcs_sm_quad_ba_control_r(void)
3138{
3139 return 0x00419f80;
3140}
3141static inline u32 gr_gpcs_tpcs_sm_quad_ba_control_blkactivity_enable_f(u32 v)
3142{
3143 return (v & 0x1) << 31;
3144}
3145static inline u32 gr_gpcs_tpcs_sm_quad_ba_control_blkactivity_enable_m(void)
3146{
3147 return 0x1 << 31;
3148}
3149static inline u32 gr_gpcs_tpcs_sm_mio_ba_control_r(void)
3150{
3151 return 0x00419ccc;
3152}
3153static inline u32 gr_gpcs_tpcs_sm_mio_ba_control_blkactivity_enable_f(u32 v)
3154{
3155 return (v & 0x1) << 31;
3156}
3157static inline u32 gr_gpcs_tpcs_sm_mio_ba_control_blkactivity_enable_m(void)
3158{
3159 return 0x1 << 31;
3160}
3161static inline u32 gr_gpcs_pri_mmu_ctrl_r(void) 3173static inline u32 gr_gpcs_pri_mmu_ctrl_r(void)
3162{ 3174{
3163 return 0x00418880; 3175 return 0x00418880;