From cf3567f6a5b89c0780bf74ef50cfbac558eb8b5f Mon Sep 17 00:00:00 2001 From: Thomas Fleury Date: Wed, 9 Oct 2019 13:31:01 -0400 Subject: [PATCH] gpu: nvgpu: doxygen for engine HAL Add documentation for runlist HAL that is called from other units: - read_engine_status_info Jira NVGPU-4112 Change-Id: I6ca10169b71d39193383d010bfb2aa7eef0a8746 Signed-off-by: Thomas Fleury Reviewed-on: https://git-master.nvidia.com/r/2214309 Reviewed-by: Seshendra Gadagottu GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/include/nvgpu/fifo.h | 1 + drivers/gpu/nvgpu/include/nvgpu/gops_engine.h | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/drivers/gpu/nvgpu/include/nvgpu/fifo.h b/drivers/gpu/nvgpu/include/nvgpu/fifo.h index efe37b77c..fbcb6f56e 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/fifo.h +++ b/drivers/gpu/nvgpu/include/nvgpu/fifo.h @@ -71,6 +71,7 @@ * * + include/nvgpu/engines.h * + include/nvgpu/engine_status.h + * + include/nvgpu/gops_engine.h * * Preempt * ------- diff --git a/drivers/gpu/nvgpu/include/nvgpu/gops_engine.h b/drivers/gpu/nvgpu/include/nvgpu/gops_engine.h index f6ea0ed67..f4ae0ed7c 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gops_engine.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gops_engine.h @@ -24,18 +24,56 @@ #include +/** + * @file + * + * Engine HAL interface. + */ struct gk20a; struct nvgpu_engine_status_info; struct nvgpu_debug_context; +/** + * Engine status HAL operations. + * + * @see gpu_ops + */ struct gops_engine_status { + /** + * @brief Read engine status info. + * + * @param g [in] Pointer to GPU driver struct. + * @param engine_id [in] H/w engine id. + * @param status [in,out] Pointer to struct abstracting engine + * status. + * + * Read engine status information from GPU h/w, and: + * - Determine if engine is busy. + * - Determine if engine if faulted. + * - Determine current context status + * (see #nvgpu_engine_status_ctx_status). + * - Determine current context id and type. Valid when status is + * #NVGPU_CTX_STATUS_VALID, #NVGPU_CTX_STATUS_CTXSW_SAVE or + * #NVGPU_CTX_STATUS_CTXSW_SWITCH. + * - Determine next context id and type. Valid when status is + * #NVGPU_CTX_STATUS_CTXSW_LOAD or #NVGPU_CTX_STATUS_CTXSW_SWITCH. + * + * @see nvgpu_engine_status_info + * @see nvgpu_engine_status_ctx_status + * @see nvgpu_engine_get_ids + */ void (*read_engine_status_info)(struct gk20a *g, u32 engine_id, struct nvgpu_engine_status_info *status); + +/** @cond DOXYGEN_SHOULD_SKIP_THIS */ void (*dump_engine_status)(struct gk20a *g, struct nvgpu_debug_context *o); +/** @endcond DOXYGEN_SHOULD_SKIP_THIS */ }; +/** @cond DOXYGEN_SHOULD_SKIP_THIS */ struct gops_engine { + bool (*is_fault_engine_subid_gpc)(struct gk20a *g, u32 engine_subid); u32 (*get_mask_on_id)(struct gk20a *g, @@ -43,5 +81,6 @@ struct gops_engine { int (*init_info)(struct nvgpu_fifo *f); int (*init_ce_info)(struct nvgpu_fifo *f); }; +/** @endcond DOXYGEN_SHOULD_SKIP_THIS */ #endif