summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
diff options
context:
space:
mode:
authorDeepak Goyal <dgoyal@nvidia.com>2017-06-15 11:07:36 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-19 11:35:16 -0400
commit077d4c6da3f27c7cb2096fed26eb8e8c77fca77f (patch)
treeb60b2d6b872e689db66300df2ba05a24984c8bf7 /drivers/gpu/nvgpu/include
parente6edb10656c86bbc8918c63ae99be25c2e343a99 (diff)
gpu : nvgpu: Update sub-feature mask for ELPG.
This patch also adds new interface for GR INIT PARAM cmd and adds new pmu command to update sub-feature mask for ELPG. JIRA GPUT19X-20. Change-Id: Id3b3b65882c714f80a05de5660895258b26a08bd Signed-off-by: Deepak Goyal <dgoyal@nvidia.com> Reviewed-on: http://git-master/r/1503141 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuif_pg.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuif_pg.h b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuif_pg.h
index 8c71e2a2..94115b5c 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuif_pg.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuif_pg.h
@@ -117,6 +117,7 @@ enum {
117#define PMU_PG_PARAM_CMD_MS_INIT_PARAM 0x01 117#define PMU_PG_PARAM_CMD_MS_INIT_PARAM 0x01
118#define PMU_PG_PARAM_CMD_MCLK_CHANGE 0x04 118#define PMU_PG_PARAM_CMD_MCLK_CHANGE 0x04
119#define PMU_PG_PARAM_CMD_POST_INIT 0x06 119#define PMU_PG_PARAM_CMD_POST_INIT 0x06
120#define PMU_PG_PARAM_CMD_SUB_FEATURE_MASK_UPDATE 0x07
120 121
121#define PMU_PG_FEATURE_GR_SDIV_SLOWDOWN_ENABLED (1 << 0) 122#define PMU_PG_FEATURE_GR_SDIV_SLOWDOWN_ENABLED (1 << 0)
122#define PMU_PG_FEATURE_GR_POWER_GATING_ENABLED (1 << 2) 123#define PMU_PG_FEATURE_GR_POWER_GATING_ENABLED (1 << 2)
@@ -185,6 +186,19 @@ struct pmu_pg_cmd_gr_init_param {
185 u8 featuremask; 186 u8 featuremask;
186}; 187};
187 188
189struct pmu_pg_cmd_gr_init_param_v1 {
190 u8 cmd_type;
191 u16 sub_cmd_id;
192 u32 featuremask;
193};
194
195struct pmu_pg_cmd_sub_feature_mask_update {
196 u8 cmd_type;
197 u16 sub_cmd_id;
198 u8 ctrl_id;
199 u32 enabled_mask;
200};
201
188struct pmu_pg_cmd_ms_init_param { 202struct pmu_pg_cmd_ms_init_param {
189 u8 cmd_type; 203 u8 cmd_type;
190 u16 cmd_id; 204 u16 cmd_id;
@@ -236,12 +250,14 @@ struct pmu_pg_cmd {
236 struct pmu_pg_cmd_eng_buf_load_v2 eng_buf_load_v2; 250 struct pmu_pg_cmd_eng_buf_load_v2 eng_buf_load_v2;
237 struct pmu_pg_cmd_stat stat; 251 struct pmu_pg_cmd_stat stat;
238 struct pmu_pg_cmd_gr_init_param gr_init_param; 252 struct pmu_pg_cmd_gr_init_param gr_init_param;
253 struct pmu_pg_cmd_gr_init_param_v1 gr_init_param_v1;
239 struct pmu_pg_cmd_ms_init_param ms_init_param; 254 struct pmu_pg_cmd_ms_init_param ms_init_param;
240 struct pmu_pg_cmd_mclk_change mclk_change; 255 struct pmu_pg_cmd_mclk_change mclk_change;
241 struct pmu_pg_cmd_post_init_param post_init; 256 struct pmu_pg_cmd_post_init_param post_init;
242 /* TBD: other pg commands */ 257 /* TBD: other pg commands */
243 union pmu_ap_cmd ap_cmd; 258 union pmu_ap_cmd ap_cmd;
244 struct nv_pmu_rppg_cmd rppg_cmd; 259 struct nv_pmu_rppg_cmd rppg_cmd;
260 struct pmu_pg_cmd_sub_feature_mask_update sf_mask_update;
245 }; 261 };
246}; 262};
247 263