summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVaikundanathan S <vaikuns@nvidia.com>2018-08-31 04:01:52 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-20 13:51:03 -0400
commitab7280a2c13363146d92eba232715e15264d76f3 (patch)
tree15d44810b1797454f552f6c424ca765d4ba108ad
parentae809fddbe90bcec0d48e1213fa36cc5ba76550d (diff)
gpu:nvgpu: Update number of LUT entries
CTRL_CLK_LUT_NUM_ENTRIES to 128 And fix build issues that appeared with 128 entries. Bug 2331655 Change-Id: If116bff14be9a1923e075f783fdb9a2e992208b8 Signed-off-by: Vaikundanathan S <vaikuns@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1810493 Reviewed-on: https://git-master.nvidia.com/r/1813861 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/boardobj/boardobjgrp.c8
-rw-r--r--drivers/gpu/nvgpu/boardobj/boardobjgrp.h2
-rw-r--r--drivers/gpu/nvgpu/clk/clk_fll.c2
-rw-r--r--drivers/gpu/nvgpu/ctrl/ctrlclkavfs.h4
-rw-r--r--drivers/gpu/nvgpu/gp106/hal_gp106.c1
-rw-r--r--drivers/gpu/nvgpu/gv100/hal_gv100.c1
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/gk20a.h3
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmu_super_surf_if.h1
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h2
9 files changed, 14 insertions, 10 deletions
diff --git a/drivers/gpu/nvgpu/boardobj/boardobjgrp.c b/drivers/gpu/nvgpu/boardobj/boardobjgrp.c
index 088c0e95..68320703 100644
--- a/drivers/gpu/nvgpu/boardobj/boardobjgrp.c
+++ b/drivers/gpu/nvgpu/boardobj/boardobjgrp.c
@@ -177,15 +177,15 @@ int boardobjgrp_destruct_super(struct boardobjgrp *pboardobjgrp)
177 177
178int boardobjgrp_pmucmd_construct_impl(struct gk20a *g, struct boardobjgrp 178int boardobjgrp_pmucmd_construct_impl(struct gk20a *g, struct boardobjgrp
179 *pboardobjgrp, struct boardobjgrp_pmu_cmd *cmd, u8 id, u8 msgid, 179 *pboardobjgrp, struct boardobjgrp_pmu_cmd *cmd, u8 id, u8 msgid,
180 u8 hdrsize, u8 entrysize, u16 fbsize, u32 ss_offset, u8 rpc_func_id) 180 u16 hdrsize, u16 entrysize, u16 fbsize, u32 ss_offset, u8 rpc_func_id)
181{ 181{
182 nvgpu_log_info(g, " "); 182 nvgpu_log_info(g, " ");
183 183
184 /* Copy the parameters into the CMD*/ 184 /* Copy the parameters into the CMD*/
185 cmd->id = id; 185 cmd->id = id;
186 cmd->msgid = msgid; 186 cmd->msgid = msgid;
187 cmd->hdrsize = hdrsize; 187 cmd->hdrsize = (u8) hdrsize;
188 cmd->entrysize = entrysize; 188 cmd->entrysize = (u8) entrysize;
189 cmd->fbsize = fbsize; 189 cmd->fbsize = fbsize;
190 190
191 return 0; 191 return 0;
@@ -193,7 +193,7 @@ int boardobjgrp_pmucmd_construct_impl(struct gk20a *g, struct boardobjgrp
193 193
194int boardobjgrp_pmucmd_construct_impl_v1(struct gk20a *g, struct boardobjgrp 194int boardobjgrp_pmucmd_construct_impl_v1(struct gk20a *g, struct boardobjgrp
195 *pboardobjgrp, struct boardobjgrp_pmu_cmd *cmd, u8 id, u8 msgid, 195 *pboardobjgrp, struct boardobjgrp_pmu_cmd *cmd, u8 id, u8 msgid,
196 u8 hdrsize, u8 entrysize, u16 fbsize, u32 ss_offset, u8 rpc_func_id) 196 u16 hdrsize, u16 entrysize, u16 fbsize, u32 ss_offset, u8 rpc_func_id)
197{ 197{
198 nvgpu_log_fn(g, " "); 198 nvgpu_log_fn(g, " ");
199 199
diff --git a/drivers/gpu/nvgpu/boardobj/boardobjgrp.h b/drivers/gpu/nvgpu/boardobj/boardobjgrp.h
index 625e7912..095ff4c9 100644
--- a/drivers/gpu/nvgpu/boardobj/boardobjgrp.h
+++ b/drivers/gpu/nvgpu/boardobj/boardobjgrp.h
@@ -156,7 +156,7 @@ struct boardobjgrp_pmu {
156typedef int boardobjgrp_pmucmd_construct(struct gk20a *g, 156typedef int boardobjgrp_pmucmd_construct(struct gk20a *g,
157 struct boardobjgrp *pboardobjgrp, 157 struct boardobjgrp *pboardobjgrp,
158 struct boardobjgrp_pmu_cmd *cmd, u8 id, u8 msgid, 158 struct boardobjgrp_pmu_cmd *cmd, u8 id, u8 msgid,
159 u8 hdrsize, u8 entrysize, u16 fbsize, u32 ss_offset, u8 rpc_func_id); 159 u16 hdrsize, u16 entrysize, u16 fbsize, u32 ss_offset, u8 rpc_func_id);
160 160
161/* 161/*
162* Destroys BOARDOBJGRP PMU SW state. CMD. 162* Destroys BOARDOBJGRP PMU SW state. CMD.
diff --git a/drivers/gpu/nvgpu/clk/clk_fll.c b/drivers/gpu/nvgpu/clk/clk_fll.c
index 105457d7..e67dd350 100644
--- a/drivers/gpu/nvgpu/clk/clk_fll.c
+++ b/drivers/gpu/nvgpu/clk/clk_fll.c
@@ -151,7 +151,7 @@ int clk_fll_sw_setup(struct gk20a *g)
151 pboardobjgrp->pmudatainstget = _clk_fll_devgrp_pmudata_instget; 151 pboardobjgrp->pmudatainstget = _clk_fll_devgrp_pmudata_instget;
152 pboardobjgrp->pmustatusinstget = _clk_fll_devgrp_pmustatus_instget; 152 pboardobjgrp->pmustatusinstget = _clk_fll_devgrp_pmustatus_instget;
153 pfllobjs = (struct avfsfllobjs *)pboardobjgrp; 153 pfllobjs = (struct avfsfllobjs *)pboardobjgrp;
154 pfllobjs->lut_num_entries = CTRL_CLK_LUT_NUM_ENTRIES; 154 pfllobjs->lut_num_entries = g->ops.clk.lut_num_entries;
155 pfllobjs->lut_step_size_uv = CTRL_CLK_VIN_STEP_SIZE_UV; 155 pfllobjs->lut_step_size_uv = CTRL_CLK_VIN_STEP_SIZE_UV;
156 pfllobjs->lut_min_voltage_uv = CTRL_CLK_LUT_MIN_VOLTAGE_UV; 156 pfllobjs->lut_min_voltage_uv = CTRL_CLK_LUT_MIN_VOLTAGE_UV;
157 157
diff --git a/drivers/gpu/nvgpu/ctrl/ctrlclkavfs.h b/drivers/gpu/nvgpu/ctrl/ctrlclkavfs.h
index b01e4ffa..676ae7ec 100644
--- a/drivers/gpu/nvgpu/ctrl/ctrlclkavfs.h
+++ b/drivers/gpu/nvgpu/ctrl/ctrlclkavfs.h
@@ -59,7 +59,9 @@
59 BIT(CTRL_CLK_VIN_ID_GPC3) | \ 59 BIT(CTRL_CLK_VIN_ID_GPC3) | \
60 BIT(CTRL_CLK_VIN_ID_GPC4) | \ 60 BIT(CTRL_CLK_VIN_ID_GPC4) | \
61 BIT(CTRL_CLK_VIN_ID_GPC5)) 61 BIT(CTRL_CLK_VIN_ID_GPC5))
62#define CTRL_CLK_LUT_NUM_ENTRIES (100) 62#define CTRL_CLK_LUT_NUM_ENTRIES_MAX (128)
63#define CTRL_CLK_LUT_NUM_ENTRIES_GV10x (128)
64#define CTRL_CLK_LUT_NUM_ENTRIES_GP10x (100)
63#define CTRL_CLK_VIN_STEP_SIZE_UV (10000) 65#define CTRL_CLK_VIN_STEP_SIZE_UV (10000)
64#define CTRL_CLK_LUT_MIN_VOLTAGE_UV (450000) 66#define CTRL_CLK_LUT_MIN_VOLTAGE_UV (450000)
65#define CTRL_CLK_FLL_TYPE_DISABLED 0 67#define CTRL_CLK_FLL_TYPE_DISABLED 0
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index 063fbbe3..94669eb3 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -887,6 +887,7 @@ int gp106_init_hal(struct gk20a *g)
887 gops->clk.support_clk_freq_controller = true; 887 gops->clk.support_clk_freq_controller = true;
888 gops->clk.support_pmgr_domain = true; 888 gops->clk.support_pmgr_domain = true;
889 gops->clk.support_lpwr_pg = true; 889 gops->clk.support_lpwr_pg = true;
890 gops->clk.lut_num_entries = CTRL_CLK_LUT_NUM_ENTRIES_GP10x;
890 891
891 g->name = "gp10x"; 892 g->name = "gp10x";
892 893
diff --git a/drivers/gpu/nvgpu/gv100/hal_gv100.c b/drivers/gpu/nvgpu/gv100/hal_gv100.c
index 0c64ce58..63ab04e9 100644
--- a/drivers/gpu/nvgpu/gv100/hal_gv100.c
+++ b/drivers/gpu/nvgpu/gv100/hal_gv100.c
@@ -1007,6 +1007,7 @@ int gv100_init_hal(struct gk20a *g)
1007 gops->clk.support_clk_freq_controller = false; 1007 gops->clk.support_clk_freq_controller = false;
1008 gops->clk.support_pmgr_domain = false; 1008 gops->clk.support_pmgr_domain = false;
1009 gops->clk.support_lpwr_pg = false; 1009 gops->clk.support_lpwr_pg = false;
1010 gops->clk.lut_num_entries = CTRL_CLK_LUT_NUM_ENTRIES_GV10x;
1010 1011
1011 g->name = "gv10x"; 1012 g->name = "gv10x";
1012 1013
diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h
index e2a0cbf7..9799425e 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h
@@ -852,7 +852,7 @@ struct gpu_ops {
852 (struct gk20a *g, 852 (struct gk20a *g,
853 struct boardobjgrp *pboardobjgrp, 853 struct boardobjgrp *pboardobjgrp,
854 struct boardobjgrp_pmu_cmd *cmd, u8 id, u8 msgid, 854 struct boardobjgrp_pmu_cmd *cmd, u8 id, u8 msgid,
855 u8 hdrsize, u8 entrysize, u16 fbsize, u32 ss_offset, 855 u16 hdrsize, u16 entrysize, u16 fbsize, u32 ss_offset,
856 u8 rpc_func_id); 856 u8 rpc_func_id);
857 int (*boardobjgrp_pmuset_impl)(struct gk20a *g, 857 int (*boardobjgrp_pmuset_impl)(struct gk20a *g,
858 struct boardobjgrp *pboardobjgrp); 858 struct boardobjgrp *pboardobjgrp);
@@ -1113,6 +1113,7 @@ struct gpu_ops {
1113 bool support_pmgr_domain; 1113 bool support_pmgr_domain;
1114 bool support_lpwr_pg; 1114 bool support_lpwr_pg;
1115 u32 (*perf_pmu_vfe_load)(struct gk20a *g); 1115 u32 (*perf_pmu_vfe_load)(struct gk20a *g);
1116 u32 lut_num_entries;
1116 } clk; 1117 } clk;
1117 struct { 1118 struct {
1118 int (*arbiter_clk_init)(struct gk20a *g); 1119 int (*arbiter_clk_init)(struct gk20a *g);
diff --git a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmu_super_surf_if.h b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmu_super_surf_if.h
index c9a2750f..b0f9e101 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmu_super_surf_if.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmu_super_surf_if.h
@@ -56,7 +56,6 @@ struct nv_pmu_super_surface {
56 struct nv_pmu_clk_clk_vf_point_boardobj_grp_set clk_vf_point_grp_set; 56 struct nv_pmu_clk_clk_vf_point_boardobj_grp_set clk_vf_point_grp_set;
57 struct nv_pmu_clk_clk_vin_device_boardobj_grp_get_status clk_vin_device_grp_get_status; 57 struct nv_pmu_clk_clk_vin_device_boardobj_grp_get_status clk_vin_device_grp_get_status;
58 struct nv_pmu_clk_clk_fll_device_boardobj_grp_get_status clk_fll_device_grp_get_status; 58 struct nv_pmu_clk_clk_fll_device_boardobj_grp_get_status clk_fll_device_grp_get_status;
59 u8 clk_rsvd1[0x800];
60 struct nv_pmu_clk_clk_vf_point_boardobj_grp_get_status clk_vf_point_grp_get_status; 59 struct nv_pmu_clk_clk_vf_point_boardobj_grp_get_status clk_vf_point_grp_get_status;
61 u8 clk_rsvd[0x4660]; 60 u8 clk_rsvd[0x4660];
62 } clk; 61 } clk;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
index b94db25c..70a913b6 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
@@ -560,7 +560,7 @@ struct nv_pmu_clk_clk_fll_device_boardobj_get_status {
560 u8 current_regime_id; 560 u8 current_regime_id;
561 bool b_dvco_min_reached; 561 bool b_dvco_min_reached;
562 u16 min_freq_mhz; 562 u16 min_freq_mhz;
563 struct nv_pmu_clk_lut_vf_entry lut_vf_curve[NV_UNSIGNED_ROUNDED_DIV(CTRL_CLK_LUT_NUM_ENTRIES, 2)]; 563 struct nv_pmu_clk_lut_vf_entry lut_vf_curve[NV_UNSIGNED_ROUNDED_DIV(CTRL_CLK_LUT_NUM_ENTRIES_MAX, 2)];
564}; 564};
565 565
566union nv_pmu_clk_clk_fll_device_boardobj_get_status_union { 566union nv_pmu_clk_clk_fll_device_boardobj_get_status_union {