diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2018-02-13 02:18:58 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-03-08 02:27:52 -0500 |
commit | b94770dc4d2d96b80b14b9942595d3e7fc2bbf6c (patch) | |
tree | 845bbf88392ed4014e6518c1767e9985e1840729 /drivers/gpu/nvgpu/common/pmu/pmu_fw.c | |
parent | cc4b9f540f66abc9f60cf9f8e2217ff17349bc77 (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.c | 16 |
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 = |