diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/boardobj/boardobjgrp.c | 8 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/boardobj/boardobjgrp.h | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/clk/clk_fll.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/ctrl/ctrlclkavfs.h | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp106/hal_gp106.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv100/hal_gv100.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/gk20a.h | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmu_super_surf_if.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h | 2 |
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 | ||
178 | int boardobjgrp_pmucmd_construct_impl(struct gk20a *g, struct boardobjgrp | 178 | int 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 | ||
194 | int boardobjgrp_pmucmd_construct_impl_v1(struct gk20a *g, struct boardobjgrp | 194 | int 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 { | |||
156 | typedef int boardobjgrp_pmucmd_construct(struct gk20a *g, | 156 | typedef 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 | ||
566 | union nv_pmu_clk_clk_fll_device_boardobj_get_status_union { | 566 | union nv_pmu_clk_clk_fll_device_boardobj_get_status_union { |