summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h27
1 files changed, 21 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
index e0a3313b..dde85435 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
@@ -336,12 +336,24 @@ struct nv_pmu_clk_clk_domain_list {
336 NV_PMU_VF_INJECT_MAX_CLOCK_DOMAINS]; 336 NV_PMU_VF_INJECT_MAX_CLOCK_DOMAINS];
337}; 337};
338 338
339struct nv_pmu_clk_clk_domain_list_v1 {
340 u8 num_domains;
341 struct ctrl_clk_clk_domain_list_item_v1 clk_domains[
342 NV_PMU_VF_INJECT_MAX_CLOCK_DOMAINS];
343};
344
339struct nv_pmu_clk_vf_change_inject { 345struct nv_pmu_clk_vf_change_inject {
340 u8 flags; 346 u8 flags;
341 struct nv_pmu_clk_clk_domain_list clk_list; 347 struct nv_pmu_clk_clk_domain_list clk_list;
342 struct nv_pmu_volt_volt_rail_list volt_list; 348 struct nv_pmu_volt_volt_rail_list volt_list;
343}; 349};
344 350
351struct nv_pmu_clk_vf_change_inject_v1 {
352 u8 flags;
353 struct nv_pmu_clk_clk_domain_list_v1 clk_list;
354 struct nv_pmu_volt_volt_rail_list_v1 volt_list;
355};
356
345#define NV_NV_PMU_CLK_LOAD_FEATURE_VIN (0x00000002) 357#define NV_NV_PMU_CLK_LOAD_FEATURE_VIN (0x00000002)
346#define NV_NV_PMU_CLK_LOAD_ACTION_MASK_VIN_HW_CAL_PROGRAM_YES (0x00000001) 358#define NV_NV_PMU_CLK_LOAD_ACTION_MASK_VIN_HW_CAL_PROGRAM_YES (0x00000001)
347 359
@@ -400,12 +412,14 @@ union nv_pmu_clk_clk_freq_controller_boardobj_set_union {
400NV_PMU_BOARDOBJ_GRP_SET_MAKE_E32(clk, clk_freq_controller); 412NV_PMU_BOARDOBJ_GRP_SET_MAKE_E32(clk, clk_freq_controller);
401 413
402/* CLK CMD ID definitions. */ 414/* CLK CMD ID definitions. */
403#define NV_PMU_CLK_CMD_ID_BOARDOBJ_GRP_SET (0x00000000) 415#define NV_PMU_CLK_CMD_ID_BOARDOBJ_GRP_SET (0x00000001)
404#define NV_PMU_CLK_CMD_ID_RPC (0x00000001) 416#define NV_PMU_CLK_CMD_ID_RPC (0x00000000)
405#define NV_PMU_CLK_CMD_ID_BOARDOBJ_GRP_GET_STATUS (0x00000002) 417#define NV_PMU_CLK_CMD_ID_BOARDOBJ_GRP_GET_STATUS (0x00000002)
406 418
407#define NV_PMU_CLK_RPC_ID_LOAD (0x00000002) 419#define NV_PMU_CLK_RPC_ID_LOAD (0x00000001)
408#define NV_PMU_CLK_RPC_ID_CLK_VF_CHANGE_INJECT (0x00000001) 420#define NV_PMU_CLK_RPC_ID_CLK_VF_CHANGE_INJECT (0x00000000)
421#define NV_PMU_CLK_RPC_ID_CLK_FREQ_EFF_AVG (0x00000002)
422
409 423
410struct nv_pmu_clk_cmd_rpc { 424struct nv_pmu_clk_cmd_rpc {
411 u8 cmd_type; 425 u8 cmd_type;
@@ -432,13 +446,14 @@ struct nv_pmu_clk_rpc {
432 flcn_status flcn_status; 446 flcn_status flcn_status;
433 union { 447 union {
434 struct nv_pmu_clk_vf_change_inject clk_vf_change_inject; 448 struct nv_pmu_clk_vf_change_inject clk_vf_change_inject;
449 struct nv_pmu_clk_vf_change_inject_v1 clk_vf_change_inject_v1;
435 struct nv_pmu_clk_load clk_load; 450 struct nv_pmu_clk_load clk_load;
436 } params; 451 } params;
437}; 452};
438 453
439/* CLK MSG ID definitions */ 454/* CLK MSG ID definitions */
440#define NV_PMU_CLK_MSG_ID_BOARDOBJ_GRP_SET (0x00000000) 455#define NV_PMU_CLK_MSG_ID_BOARDOBJ_GRP_SET (0x00000001)
441#define NV_PMU_CLK_MSG_ID_RPC (0x00000001) 456#define NV_PMU_CLK_MSG_ID_RPC (0x00000000)
442#define NV_PMU_CLK_MSG_ID_BOARDOBJ_GRP_GET_STATUS (0x00000002) 457#define NV_PMU_CLK_MSG_ID_BOARDOBJ_GRP_GET_STATUS (0x00000002)
443 458
444struct nv_pmu_clk_msg_rpc { 459struct nv_pmu_clk_msg_rpc {