summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
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/include
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/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifboardobj.h28
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 */
221struct 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_ */