diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2018-02-27 04:22:19 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-03-13 17:09:52 -0400 |
commit | 76ad9e8366f5c73d1ea47d54cea043f8cd9fa23e (patch) | |
tree | 6ca5a8ba117568252a1e75a28542d405a250e49e /drivers/gpu/nvgpu/boardobj/boardobjgrp.c | |
parent | 1d986dc33eae7cb56cd0a1beded5ba858f0535b9 (diff) |
gpu: nvgpu: Updated RPC to support copyback & callback
- Updated & added new parameter "bool is_copy_back" to
nvgpu_pmu_rpc_execute() to support copy back processed
RPC request from PMU to caller by passing parameter value
true & this blocks method till it receives ACK from PMU
for requested RPC.
- Added "struct rpc_handler_payload" to hold info
required for RPC handler like RPC buff address &
clear memory if copy back is not requested.
- Added define PMU_RPC_EXECUTE_CPB to support to copy back
processed RPC request from PMU to caller.
- Updated RPC callback handler support, crated memory &
assigned default handler if callback is not requested
else use callback parameters data to request to PMU.
- Added define PMU_RPC_EXECUTE_CB to support callback
- Updated pmu_wait_message_cond(), restricted condition
check to 8-bit instead 32-bit condition check.
Change-Id: Ic05289b074954979fd0102daf5ab806bf1f07b62
Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1664962
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
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/boardobj/boardobjgrp.c')
-rw-r--r-- | drivers/gpu/nvgpu/boardobj/boardobjgrp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/boardobj/boardobjgrp.c b/drivers/gpu/nvgpu/boardobj/boardobjgrp.c index 9530e460..3249bf32 100644 --- a/drivers/gpu/nvgpu/boardobj/boardobjgrp.c +++ b/drivers/gpu/nvgpu/boardobj/boardobjgrp.c | |||
@@ -977,7 +977,7 @@ static u32 boardobjgrp_pmucmdsend_rpc(struct gk20a *g, | |||
977 | status = nvgpu_pmu_rpc_execute(pmu, &(rpc.hdr), | 977 | status = nvgpu_pmu_rpc_execute(pmu, &(rpc.hdr), |
978 | (sizeof(rpc) - sizeof(rpc.scratch)), | 978 | (sizeof(rpc) - sizeof(rpc.scratch)), |
979 | pcmd->dmem_buffer_size, | 979 | pcmd->dmem_buffer_size, |
980 | NULL, NULL); | 980 | NULL, NULL, copy_out); |
981 | 981 | ||
982 | if (status) { | 982 | if (status) { |
983 | nvgpu_err(g, "Failed to execute RPC, status=0x%x", status); | 983 | nvgpu_err(g, "Failed to execute RPC, status=0x%x", status); |