diff options
author | Seema Khowala <seemaj@nvidia.com> | 2017-06-06 18:47:17 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-07-19 02:42:07 -0400 |
commit | f36e2a234b39cf7622c57ad51359629f5c425340 (patch) | |
tree | 47136739b98de4024b72335b29b21d20f97d5903 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 92d476bf279f80e896fd7247a267ae2202b91550 (diff) |
gpu: nvgpu: support context regoptype for egpc/etpc
- add is_egpc_addr, is_etpc_addr and get_egpc_etpc_num gr ops
- add gr ops for decode and create egpc/etpc priv addr
- add etpc as part of ctxsw_regs
JIRA GPUT19X-49
Bug 200311674
Bug 1960226
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Change-Id: I9a8be1804a9354238de2441093b3b136321b7e53
Reviewed-on: https://git-master.nvidia.com/r/1522442
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 6fe29abe..ff8eb988 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -216,8 +216,19 @@ struct gpu_ops { | |||
216 | u32 mode); | 216 | u32 mode); |
217 | int (*get_zcull_info)(struct gk20a *g, struct gr_gk20a *gr, | 217 | int (*get_zcull_info)(struct gk20a *g, struct gr_gk20a *gr, |
218 | struct gr_zcull_info *zcull_params); | 218 | struct gr_zcull_info *zcull_params); |
219 | int (*decode_egpc_addr)(struct gk20a *g, | ||
220 | u32 addr, int *addr_type, | ||
221 | u32 *gpc_num, u32 *tpc_num, u32 *broadcast_flags); | ||
222 | void (*egpc_etpc_priv_addr_table)(struct gk20a *g, u32 addr, | ||
223 | u32 gpc, u32 broadcast_flags, u32 *priv_addr_table, | ||
224 | u32 *priv_addr_table_index); | ||
219 | bool (*is_tpc_addr)(struct gk20a *g, u32 addr); | 225 | bool (*is_tpc_addr)(struct gk20a *g, u32 addr); |
226 | bool (*is_egpc_addr)(struct gk20a *g, u32 addr); | ||
227 | bool (*is_etpc_addr)(struct gk20a *g, u32 addr); | ||
228 | void (*get_egpc_etpc_num)(struct gk20a *g, u32 addr, | ||
229 | u32 *gpc_num, u32 *tpc_num); | ||
220 | u32 (*get_tpc_num)(struct gk20a *g, u32 addr); | 230 | u32 (*get_tpc_num)(struct gk20a *g, u32 addr); |
231 | u32 (*get_egpc_base)(struct gk20a *g); | ||
221 | bool (*is_ltcs_ltss_addr)(struct gk20a *g, u32 addr); | 232 | bool (*is_ltcs_ltss_addr)(struct gk20a *g, u32 addr); |
222 | bool (*is_ltcn_ltss_addr)(struct gk20a *g, u32 addr); | 233 | bool (*is_ltcn_ltss_addr)(struct gk20a *g, u32 addr); |
223 | bool (*get_lts_in_ltc_shared_base)(void); | 234 | bool (*get_lts_in_ltc_shared_base)(void); |