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/include | |
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/include')
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifboardobj.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifboardobj.h b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifboardobj.h index ee5dfd06..b8c1e394 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifboardobj.h +++ b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifboardobj.h | |||
@@ -25,6 +25,18 @@ | |||
25 | #include <nvgpu/flcnif_cmn.h> | 25 | #include <nvgpu/flcnif_cmn.h> |
26 | #include "ctrl/ctrlboardobj.h" | 26 | #include "ctrl/ctrlboardobj.h" |
27 | 27 | ||
28 | /* board object group command id's. */ | ||
29 | #define NV_PMU_BOARDOBJGRP_CMD_SET 0x00 | ||
30 | #define NV_PMU_BOARDOBJGRP_CMD_GET_STATUS 0x01 | ||
31 | |||
32 | #define NV_PMU_RPC_ID_CLK_BOARD_OBJ_GRP_CMD 0x00 | ||
33 | #define NV_PMU_RPC_ID_FAN_BOARD_OBJ_GRP_CMD 0x00 | ||
34 | #define NV_PMU_RPC_ID_PERF_BOARD_OBJ_GRP_CMD 0x00 | ||
35 | #define NV_PMU_RPC_ID_PERF_CF_BOARD_OBJ_GRP_CMD 0x00 | ||
36 | #define NV_PMU_RPC_ID_PMGR_BOARD_OBJ_GRP_CMD 0x00 | ||
37 | #define NV_PMU_RPC_ID_THERM_BOARD_OBJ_GRP_CMD 0x00 | ||
38 | #define NV_PMU_RPC_ID_VOLT_BOARD_OBJ_GRP_CMD 0x00 | ||
39 | |||
28 | /* | 40 | /* |
29 | * Base structure describing a BOARDOBJ for communication between Kernel and | 41 | * Base structure describing a BOARDOBJ for communication between Kernel and |
30 | * PMU. | 42 | * PMU. |
@@ -200,5 +212,21 @@ struct nv_pmu_boardobj_msg { | |||
200 | NV_PMU_BOARDOBJ_GRP_GET_STATUS_MAKE(_eng, _class, \ | 212 | NV_PMU_BOARDOBJ_GRP_GET_STATUS_MAKE(_eng, _class, \ |
201 | CTRL_BOARDOBJGRP_E255_MAX_OBJECTS) | 213 | CTRL_BOARDOBJGRP_E255_MAX_OBJECTS) |
202 | 214 | ||
215 | /* RPC */ | ||
216 | |||
217 | /* | ||
218 | * structure that holds data used to | ||
219 | * execute BOARD_OBJ_GRP_CMD RPC. | ||
220 | */ | ||
221 | struct nv_pmu_rpc_struct_board_obj_grp_cmd | ||
222 | { | ||
223 | /* [IN/OUT] Must be first field in RPC structure */ | ||
224 | struct nv_pmu_rpc_header hdr; | ||
225 | /* [IN] BOARDOBJGRP class IDs. */ | ||
226 | u8 class_id; | ||
227 | /* [IN] Requested command ID (@ref NV_PMU_BOARDOBJGRP_CMD_***)*/ | ||
228 | u8 command_id; | ||
229 | u32 scratch[1]; | ||
230 | }; | ||
203 | 231 | ||
204 | #endif /* _GPMUIFBOARDOBJ_H_ */ | 232 | #endif /* _GPMUIFBOARDOBJ_H_ */ |