diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/gr_gm20b.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c index 512c470d..81067f0a 100644 --- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c | |||
@@ -1127,6 +1127,23 @@ void gr_gm20b_bpt_reg_info(struct gk20a *g, struct warpstate *w_state) | |||
1127 | } | 1127 | } |
1128 | } | 1128 | } |
1129 | 1129 | ||
1130 | static void gr_gm20b_get_access_map(struct gk20a *g, | ||
1131 | u32 **whitelist, int *num_entries) | ||
1132 | { | ||
1133 | static u32 wl_addr_gm20b[] = { | ||
1134 | /* this list must be sorted (low to high) */ | ||
1135 | 0x404468, /* gr_pri_mme_max_instructions */ | ||
1136 | 0x418800, /* gr_pri_gpcs_setup_debug */ | ||
1137 | 0x419a04, /* gr_pri_gpcs_tpcs_tex_lod_dbg */ | ||
1138 | 0x419a08, /* gr_pri_gpcs_tpcs_tex_samp_dbg */ | ||
1139 | 0x419e10, /* gr_pri_gpcs_tpcs_sm_dbgr_control0 */ | ||
1140 | 0x419f78, /* gr_pri_gpcs_tpcs_sm_disp_ctrl */ | ||
1141 | }; | ||
1142 | |||
1143 | *whitelist = wl_addr_gm20b; | ||
1144 | *num_entries = ARRAY_SIZE(wl_addr_gm20b); | ||
1145 | } | ||
1146 | |||
1130 | void gm20b_init_gr(struct gpu_ops *gops) | 1147 | void gm20b_init_gr(struct gpu_ops *gops) |
1131 | { | 1148 | { |
1132 | gops->gr.init_gpc_mmu = gr_gm20b_init_gpc_mmu; | 1149 | gops->gr.init_gpc_mmu = gr_gm20b_init_gpc_mmu; |
@@ -1184,4 +1201,5 @@ void gm20b_init_gr(struct gpu_ops *gops) | |||
1184 | gops->gr.init_cyclestats = gr_gm20b_init_cyclestats; | 1201 | gops->gr.init_cyclestats = gr_gm20b_init_cyclestats; |
1185 | gops->gr.enable_cde_in_fecs = gr_gm20b_enable_cde_in_fecs; | 1202 | gops->gr.enable_cde_in_fecs = gr_gm20b_enable_cde_in_fecs; |
1186 | gops->gr.bpt_reg_info = gr_gm20b_bpt_reg_info; | 1203 | gops->gr.bpt_reg_info = gr_gm20b_bpt_reg_info; |
1204 | gops->gr.get_access_map = gr_gm20b_get_access_map; | ||
1187 | } | 1205 | } |