summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorPeter Daifuku <pdaifuku@nvidia.com>2016-04-15 21:12:34 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-05-19 18:58:24 -0400
commitce0fe5082ebb8a7e0ca5a8992e17ae4547d4db5e (patch)
treef7301c2993c78af2d69ad768e1aa6c35bede6cfc /drivers/gpu/nvgpu/gk20a/gk20a.h
parent5ccaaa73af4683eabd4d135b5b08aec4a206b613 (diff)
gpu: nvgpu: hwpm broadcast register support
Add support for hwpm broadcast registers (ltc and lts) In gr_gk20a_find_priv_offset_in_buffer, replace "Unknown address type" error with informational message: gr_gk20a_exec_ctx_ops calls gk20a_get_ctx_buffer_offsets and if that fails, calls gr_gk20a_get_pm_ctx_buffer_offsets; HWPM registers will fail the first call, so an error or warning is overkill. Bug 1648200 Change-Id: I197b82579e9894652add4ff254418f818981415a Signed-off-by: Peter Daifuku <pdaifuku@nvidia.com> Reviewed-on: http://git-master/r/1131365 (cherry picked from commit 9f30a92c5d87f6dadd34cc37396a6b10e3a72751) Reviewed-on: http://git-master/r/1133628 (cherry picked from commit 7eb7cfd998852ba7f7c4c40d3db286f66e83ab3a) Reviewed-on: http://git-master/r/1127749 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index d5310b02..275619c9 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -178,6 +178,15 @@ struct gpu_ops {
178 struct gr_zcull_info *zcull_params); 178 struct gr_zcull_info *zcull_params);
179 bool (*is_tpc_addr)(struct gk20a *g, u32 addr); 179 bool (*is_tpc_addr)(struct gk20a *g, u32 addr);
180 u32 (*get_tpc_num)(struct gk20a *g, u32 addr); 180 u32 (*get_tpc_num)(struct gk20a *g, u32 addr);
181 bool (*is_ltcs_ltss_addr)(struct gk20a *g, u32 addr);
182 bool (*is_ltcn_ltss_addr)(struct gk20a *g, u32 addr);
183 bool (*get_lts_in_ltc_shared_base)(void);
184 void (*split_lts_broadcast_addr)(struct gk20a *g, u32 addr,
185 u32 *priv_addr_table,
186 u32 *priv_addr_table_index);
187 void (*split_ltc_broadcast_addr)(struct gk20a *g, u32 addr,
188 u32 *priv_addr_table,
189 u32 *priv_addr_table_index);
181 void (*detect_sm_arch)(struct gk20a *g); 190 void (*detect_sm_arch)(struct gk20a *g);
182 int (*add_zbc_color)(struct gk20a *g, struct gr_gk20a *gr, 191 int (*add_zbc_color)(struct gk20a *g, struct gr_gk20a *gr,
183 struct zbc_entry *color_val, u32 index); 192 struct zbc_entry *color_val, u32 index);