summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/ltc_gk20a.h
diff options
context:
space:
mode:
authorSunny He <suhe@nvidia.com>2017-06-22 19:43:51 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-27 13:44:11 -0400
commit0dc80244eea4c7e504976d8028a3ddb72ba60b0e (patch)
tree99e87c3d5cab98a4593a7bb0fe2737d72ccfb805 /drivers/gpu/nvgpu/gk20a/ltc_gk20a.h
parent773df3f5e9fdda028ade319990d1b672ce68592f (diff)
gpu: nvgpu: Reorganize ltc HAL initialization
Reorganize HAL initialization to remove inheritance and construct the gpu_ops struct at compile time. This patch only covers the ltc sub-module of the gpu_ops struct. Perform HAL function assignments in hal_gxxxx.c through the population of a chip-specific copy of gpu_ops. Jira NVGPU-74 Change-Id: I1110e301e57b502cf7f97e6739424cb33cc52a69 Signed-off-by: Sunny He <suhe@nvidia.com> Reviewed-on: https://git-master/r/1507564 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/ltc_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/ltc_gk20a.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/ltc_gk20a.h b/drivers/gpu/nvgpu/gk20a/ltc_gk20a.h
index 30d4163f..ee7d7f91 100644
--- a/drivers/gpu/nvgpu/gk20a/ltc_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/ltc_gk20a.h
@@ -16,8 +16,26 @@
16#ifndef LTC_GK20A_H 16#ifndef LTC_GK20A_H
17#define LTC_GK20A_H 17#define LTC_GK20A_H
18struct gpu_ops; 18struct gpu_ops;
19struct gr_gk20a;
20struct zbc_entry;
21enum gk20a_cbc_op;
19 22
20void gk20a_init_ltc(struct gpu_ops *gops); 23int gk20a_ltc_init_comptags(struct gk20a *g, struct gr_gk20a *gr);
24int gk20a_ltc_cbc_ctrl(struct gk20a *g, enum gk20a_cbc_op op,
25 u32 min, u32 max);
26void gk20a_ltc_init_fs_state(struct gk20a *g);
27void gk20a_ltc_isr(struct gk20a *g);
28int gk20a_determine_L2_size_bytes(struct gk20a *g);
29void gk20a_ltc_set_zbc_color_entry(struct gk20a *g,
30 struct zbc_entry *color_val,
31 u32 index);
32void gk20a_ltc_set_zbc_depth_entry(struct gk20a *g,
33 struct zbc_entry *depth_val,
34 u32 index);
35void gk20a_ltc_init_cbc(struct gk20a *g, struct gr_gk20a *gr);
36#ifdef CONFIG_DEBUG_FS
37void gk20a_ltc_sync_debugfs(struct gk20a *g);
38#endif
21int gk20a_ltc_alloc_phys_cbc(struct gk20a *g, size_t compbit_backing_size); 39int gk20a_ltc_alloc_phys_cbc(struct gk20a *g, size_t compbit_backing_size);
22int gk20a_ltc_alloc_virt_cbc(struct gk20a *g, size_t compbit_backing_size); 40int gk20a_ltc_alloc_virt_cbc(struct gk20a *g, size_t compbit_backing_size);
23#endif 41#endif