diff options
author | Peter Daifuku <pdaifuku@nvidia.com> | 2016-04-15 21:12:34 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-05-19 18:58:24 -0400 |
commit | ce0fe5082ebb8a7e0ca5a8992e17ae4547d4db5e (patch) | |
tree | f7301c2993c78af2d69ad768e1aa6c35bede6cfc /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 5ccaaa73af4683eabd4d135b5b08aec4a206b613 (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.h | 9 |
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); |