summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/boardobj/boardobjgrp.c
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2018-02-27 04:22:19 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-03-13 17:09:52 -0400
commit76ad9e8366f5c73d1ea47d54cea043f8cd9fa23e (patch)
tree6ca5a8ba117568252a1e75a28542d405a250e49e /drivers/gpu/nvgpu/boardobj/boardobjgrp.c
parent1d986dc33eae7cb56cd0a1beded5ba858f0535b9 (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.c2
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);