/** @file This header file declares functions and type for common use. Copyright (c) 2023, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef INTERNAL_TRACE_HUB_API_COMMON_H_ #define INTERNAL_TRACE_HUB_API_COMMON_H_ typedef enum { TraceHubDebugType = 0, TraceHubCatalogType } TRACEHUB_PRINTTYPE; typedef enum { TraceHubRoutingDisable = 0, TraceHubRoutingEnable, TraceHubRoutingMax } TRACE_HUB_ROUTING; typedef enum { TraceHubDebugLevelError = 0, TraceHubDebugLevelErrorWarning, TraceHubDebugLevelErrorWarningInfo, TraceHubDebugLevelErrorWarningInfoVerbose, TraceHubDebugLevelMax } TRACE_HUB_DEBUG_LEVEL; /** Conditionally determine whether to enable Trace Hub message. @param[in] Flag Flag to enable or disable Trace Hub message. @param[in] DbgLevel Debug Level of Trace Hub. @param[in] SeverityType Severity type of input message. @retval TRUE Enable trace hub message. @retval FALSE Disable trace hub message. **/ BOOLEAN EFIAPI TraceHubDataEnabled ( IN BOOLEAN Flag, IN UINT8 DbgLevel, IN TRACE_HUB_SEVERITY_TYPE SeverityType ); /** Convert GUID from LE to BE or BE to LE. @param[in] Guid GUID that need to be converted. @param[out] ConvertedGuid GUID that is converted. **/ VOID EFIAPI SwapBytesGuid ( IN GUID *Guid, OUT GUID *ConvertedGuid ); /** Check whether to output Trace Hub message according to some conditions. Trace Hub message will be disabled if TraceHubDataEnabled() return FALSE or Trace Hub MMIO address is 0. @param[in, out] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. @param[in] DbgContext A pointer to Trace Hub debug instance. @param[in] SeverityType Severity type of input message. @param[in] PrintType Either catalog print or debug print. @retval RETURN_SUCCESS Current Trace Hub message need to be output. @retval Other Current Trace Hub message will be disabled. **/ RETURN_STATUS EFIAPI CheckWhetherToOutputMsg ( IN OUT MIPI_SYST_HANDLE *MipiSystHandle, IN UINT8 *DbgContext, IN TRACE_HUB_SEVERITY_TYPE SeverityType, IN TRACEHUB_PRINTTYPE PrintType ); /** Get Trace Hub MMIO Address. @param[in] DbgContext A pointer to Trace Hub debug instance. @param[in, out] TraceAddress Trace Hub MMIO Address. @retval RETURN_SUCCESS Operation is successfully. @retval Other Operation is failed. **/ RETURN_STATUS EFIAPI GetTraceHubMmioAddress ( IN UINT8 *DbgContext, IN OUT UINT64 *TraceAddress ); /** Get visibility of Trace Hub Msg. @param[in] DbgContext A pointer to Trace Hub debug instance. @param[in, out] Flag Flag to enable or disable Trace Hub message. @param[in, out] DbgLevel Debug Level of Trace Hub. @retval RETURN_SUCCESS Operation is successfully. @retval Other Operation is failed. **/ RETURN_STATUS EFIAPI GetTraceHubMsgVisibility ( IN UINT8 *DbgContext, IN OUT BOOLEAN *Flag, IN OUT UINT8 *DbgLevel ); #endif // INTERNAL_TRACE_HUB_API_COMMON_H_