summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-10-27 03:16:51 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:52 -0400
commit4739499f07b29282ee1031d08adaa76c238da2a6 (patch)
tree10caa152eea6250e46cad6172553069b4bb3dcb9 /drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h
parentb5bb4f53dbdde8473e1160d4522c5d9da55f115f (diff)
gpu: nvgpu: Sync gk20a and gm20b headers
Synchronize gk20a and gm20b headers. All registers which were added to gk20a are now added to gm20b, and some registers that are unused are removed. Bug 1567274 Change-Id: Ia3b7958c148e495cbff420ee56bb448db0f58680 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/590313 GVS: Gerrit_Virtual_Submit
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;