summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorseshendra Gadagottu <sgadagottu@nvidia.com>2016-11-16 12:11:57 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2016-11-17 15:07:49 -0500
commitfab87a29bb7ff82828e8de7201115864c0901b9f (patch)
tree1a80a68f561538c8993092d483003513c3c54de5 /drivers
parentd29afd2c9e990799b470bb95a97935cf5b5020db (diff)
gpu: nvgpu: use define macros for litter values
Instead of using enum type for litter values, use define macros. This will fix: 1. Resolve ambiguity associated with enum type size. 2. Litter values can be extended easily in future chips. JIRA GV11B-21 Change-Id: Idca5144ea3754820c67831a716bb0aaf2e375eb2 Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: http://git-master/r/1254854 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h53
-rw-r--r--drivers/gpu/nvgpu/gk20a/hal_gk20a.c3
-rw-r--r--drivers/gpu/nvgpu/gm206/hal_gm206.c3
-rw-r--r--drivers/gpu/nvgpu/gm20b/hal_gm20b.c3
4 files changed, 28 insertions, 34 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 56b05e94..a263743f 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -95,32 +95,30 @@ enum gk20a_cbc_op {
95#define MC_INTR_UNIT_DISABLE false 95#define MC_INTR_UNIT_DISABLE false
96#define MC_INTR_UNIT_ENABLE true 96#define MC_INTR_UNIT_ENABLE true
97 97
98enum nvgpu_litter_value { 98#define GPU_LIT_NUM_GPCS 0
99 GPU_LIT_NUM_GPCS, 99#define GPU_LIT_NUM_PES_PER_GPC 1
100 GPU_LIT_NUM_PES_PER_GPC, 100#define GPU_LIT_NUM_ZCULL_BANKS 2
101 GPU_LIT_NUM_ZCULL_BANKS, 101#define GPU_LIT_NUM_TPC_PER_GPC 3
102 GPU_LIT_NUM_TPC_PER_GPC, 102#define GPU_LIT_NUM_SM_PER_TPC 4
103 GPU_LIT_NUM_SM_PER_TPC, 103#define GPU_LIT_NUM_FBPS 5
104 GPU_LIT_NUM_FBPS, 104#define GPU_LIT_GPC_BASE 6
105 GPU_LIT_GPC_BASE, 105#define GPU_LIT_GPC_STRIDE 7
106 GPU_LIT_GPC_STRIDE, 106#define GPU_LIT_GPC_SHARED_BASE 8
107 GPU_LIT_GPC_SHARED_BASE, 107#define GPU_LIT_TPC_IN_GPC_BASE 9
108 GPU_LIT_TPC_IN_GPC_BASE, 108#define GPU_LIT_TPC_IN_GPC_STRIDE 10
109 GPU_LIT_TPC_IN_GPC_STRIDE, 109#define GPU_LIT_TPC_IN_GPC_SHARED_BASE 11
110 GPU_LIT_TPC_IN_GPC_SHARED_BASE, 110#define GPU_LIT_PPC_IN_GPC_BASE 12
111 GPU_LIT_PPC_IN_GPC_BASE, 111#define GPU_LIT_PPC_IN_GPC_STRIDE 13
112 GPU_LIT_PPC_IN_GPC_STRIDE, 112#define GPU_LIT_PPC_IN_GPC_SHARED_BASE 14
113 GPU_LIT_PPC_IN_GPC_SHARED_BASE, 113#define GPU_LIT_ROP_BASE 15
114 GPU_LIT_ROP_BASE, 114#define GPU_LIT_ROP_STRIDE 16
115 GPU_LIT_ROP_STRIDE, 115#define GPU_LIT_ROP_SHARED_BASE 17
116 GPU_LIT_ROP_SHARED_BASE, 116#define GPU_LIT_HOST_NUM_ENGINES 18
117 GPU_LIT_HOST_NUM_ENGINES, 117#define GPU_LIT_HOST_NUM_PBDMA 19
118 GPU_LIT_HOST_NUM_PBDMA, 118#define GPU_LIT_LTC_STRIDE 20
119 GPU_LIT_LTC_STRIDE, 119#define GPU_LIT_LTS_STRIDE 21
120 GPU_LIT_LTS_STRIDE, 120#define GPU_LIT_NUM_FBPAS 22
121 GPU_LIT_NUM_FBPAS, 121#define GPU_LIT_FBPA_STRIDE 23
122 GPU_LIT_FBPA_STRIDE,
123};
124 122
125#define nvgpu_get_litter_value(g, v) (g)->ops.get_litter_value((g), v) 123#define nvgpu_get_litter_value(g, v) (g)->ops.get_litter_value((g), v)
126 124
@@ -312,7 +310,6 @@ struct gpu_ops {
312 u32 zcull_alloc_num, u32 *zcull_map_tiles); 310 u32 zcull_alloc_num, u32 *zcull_map_tiles);
313 int (*commit_global_timeslice)(struct gk20a *g, 311 int (*commit_global_timeslice)(struct gk20a *g,
314 struct channel_gk20a *c, bool patch); 312 struct channel_gk20a *c, bool patch);
315
316 } gr; 313 } gr;
317 const char *name; 314 const char *name;
318 struct { 315 struct {
@@ -685,7 +682,7 @@ struct gpu_ops {
685 size_t scatter_buffer_size); 682 size_t scatter_buffer_size);
686 } cde; 683 } cde;
687 684
688 int (*get_litter_value)(struct gk20a *g, enum nvgpu_litter_value value); 685 int (*get_litter_value)(struct gk20a *g, int value);
689 int (*chip_init_gpu_characteristics)(struct gk20a *g); 686 int (*chip_init_gpu_characteristics)(struct gk20a *g);
690 int (*read_ptimer)(struct gk20a *g, u64 *value); 687 int (*read_ptimer)(struct gk20a *g, u64 *value);
691 688
diff --git a/drivers/gpu/nvgpu/gk20a/hal_gk20a.c b/drivers/gpu/nvgpu/gk20a/hal_gk20a.c
index b1e94d7d..341c2e72 100644
--- a/drivers/gpu/nvgpu/gk20a/hal_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/hal_gk20a.c
@@ -51,8 +51,7 @@ static struct gpu_ops gk20a_ops = {
51 }, 51 },
52}; 52};
53 53
54static int gk20a_get_litter_value(struct gk20a *g, 54static int gk20a_get_litter_value(struct gk20a *g, int value)
55 enum nvgpu_litter_value value)
56{ 55{
57 int ret = EINVAL; 56 int ret = EINVAL;
58 switch (value) { 57 switch (value) {
diff --git a/drivers/gpu/nvgpu/gm206/hal_gm206.c b/drivers/gpu/nvgpu/gm206/hal_gm206.c
index f771c07d..d8793c18 100644
--- a/drivers/gpu/nvgpu/gm206/hal_gm206.c
+++ b/drivers/gpu/nvgpu/gm206/hal_gm206.c
@@ -94,8 +94,7 @@ static struct gpu_ops gm206_ops = {
94 } 94 }
95}; 95};
96 96
97static int gm206_get_litter_value(struct gk20a *g, 97static int gm206_get_litter_value(struct gk20a *g, int value)
98 enum nvgpu_litter_value value)
99{ 98{
100 int ret = -EINVAL; 99 int ret = -EINVAL;
101 100
diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
index 966d33d7..35747f27 100644
--- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
@@ -96,8 +96,7 @@ static struct gpu_ops gm20b_ops = {
96 }, 96 },
97}; 97};
98 98
99static int gm20b_get_litter_value(struct gk20a *g, 99static int gm20b_get_litter_value(struct gk20a *g, int value)
100 enum nvgpu_litter_value value)
101{ 100{
102 int ret = EINVAL; 101 int ret = EINVAL;
103 switch (value) { 102 switch (value) {