summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/pmu/pmu_fw.c
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2018-02-13 02:18:58 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-03-08 02:27:52 -0500
commitb94770dc4d2d96b80b14b9942595d3e7fc2bbf6c (patch)
tree845bbf88392ed4014e6518c1767e9985e1840729 /drivers/gpu/nvgpu/common/pmu/pmu_fw.c
parentcc4b9f540f66abc9f60cf9f8e2217ff17349bc77 (diff)
gpu: nvgpu: boardobj update for gv10x branch
- Created ops for below boardobj methods to support gp10x & gv10x branch boardobj changes, and defined methods for gv10x with postfix _v1 with below names boardobjgrp_pmucmd_construct_impl boardobjgrp_pmuset_impl boardobjgrp_pmugetstatus_impl is_boardobjgrp_pmucmd_id_valid - These ops are assigned based on PMU version to respective chip. - Modified BOARDOBJGRP_PMU_CMD_GRP_SET_CONSTRUCT & BOARDOBJGRP_PMU_CMD_GRP_GET_STATUS_CONSTRUCT to support gp10x & gv10x branch changes - Updated struct boardobjgrp_pmu_cmd to include members needed for gv10x boardobj changes - Created "struct nv_pmu_rpc_struct_board_obj_grp_cmd" to execute BOARD_OBJ_GRP_CMD using RPC. - Defined method boardobjgrp_pmucmdsend_rpc() to send BOARD_OBJ_GRP_CMD to PMU. Change-Id: If2551bdda80e897e7b21d2966881586f3bbc7a9b Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1656511 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/pmu/pmu_fw.c')
-rw-r--r--drivers/gpu/nvgpu/common/pmu/pmu_fw.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/pmu/pmu_fw.c b/drivers/gpu/nvgpu/common/pmu/pmu_fw.c
index 6b565abb..20120393 100644
--- a/drivers/gpu/nvgpu/common/pmu/pmu_fw.c
+++ b/drivers/gpu/nvgpu/common/pmu/pmu_fw.c
@@ -1291,6 +1291,14 @@ static int nvgpu_init_pmu_fw_ver_ops(struct nvgpu_pmu *pmu)
1291 get_pmu_init_msg_pmu_sw_mg_off_v5; 1291 get_pmu_init_msg_pmu_sw_mg_off_v5;
1292 g->ops.pmu_ver.get_pmu_init_msg_pmu_sw_mg_size = 1292 g->ops.pmu_ver.get_pmu_init_msg_pmu_sw_mg_size =
1293 get_pmu_init_msg_pmu_sw_mg_size_v5; 1293 get_pmu_init_msg_pmu_sw_mg_size_v5;
1294 g->ops.pmu_ver.boardobj.boardobjgrp_pmucmd_construct_impl =
1295 boardobjgrp_pmucmd_construct_impl_v1;
1296 g->ops.pmu_ver.boardobj.boardobjgrp_pmuset_impl =
1297 boardobjgrp_pmuset_impl_v1;
1298 g->ops.pmu_ver.boardobj.boardobjgrp_pmugetstatus_impl =
1299 boardobjgrp_pmugetstatus_impl_v1;
1300 g->ops.pmu_ver.boardobj.is_boardobjgrp_pmucmd_id_valid =
1301 is_boardobjgrp_pmucmd_id_valid_v1;
1294 } else { 1302 } else {
1295 g->ops.pmu_ver.get_pmu_init_msg_pmu_queue_params = 1303 g->ops.pmu_ver.get_pmu_init_msg_pmu_queue_params =
1296 get_pmu_init_msg_pmu_queue_params_v4; 1304 get_pmu_init_msg_pmu_queue_params_v4;
@@ -1442,6 +1450,14 @@ static int nvgpu_init_pmu_fw_ver_ops(struct nvgpu_pmu *pmu)
1442 get_pmu_sequence_in_alloc_ptr_v3; 1450 get_pmu_sequence_in_alloc_ptr_v3;
1443 g->ops.pmu_ver.get_pmu_seq_out_a_ptr = 1451 g->ops.pmu_ver.get_pmu_seq_out_a_ptr =
1444 get_pmu_sequence_out_alloc_ptr_v3; 1452 get_pmu_sequence_out_alloc_ptr_v3;
1453 g->ops.pmu_ver.boardobj.boardobjgrp_pmucmd_construct_impl =
1454 boardobjgrp_pmucmd_construct_impl;
1455 g->ops.pmu_ver.boardobj.boardobjgrp_pmuset_impl =
1456 boardobjgrp_pmuset_impl;
1457 g->ops.pmu_ver.boardobj.boardobjgrp_pmugetstatus_impl =
1458 boardobjgrp_pmugetstatus_impl;
1459 g->ops.pmu_ver.boardobj.is_boardobjgrp_pmucmd_id_valid =
1460 is_boardobjgrp_pmucmd_id_valid_v0;
1445 break; 1461 break;
1446 case APP_VERSION_GM20B: 1462 case APP_VERSION_GM20B:
1447 g->ops.pmu_ver.pg_cmd_eng_buf_load_size = 1463 g->ops.pmu_ver.pg_cmd_eng_buf_load_size =