| /** @file | |
| This file provide functions to communicate with mipi sys-T submodule. | |
| Copyright (c) 2023, Intel Corporation. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #include <Base.h> | |
| #include "mipi_syst.h" | |
| /** | |
| Invoke initialization function in Mipi Sys-T module to initialize Mipi Sys-T handle. | |
| @param[in, out] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
| @retval RETURN_SUCCESS MIPI_SYST_HANDLE instance was initialized. | |
| @retval Other MIPI_SYST_HANDLE instance was not initialized. | |
| **/ | |
| RETURN_STATUS | |
| EFIAPI | |
| InitMipiSystHandle ( | |
| IN OUT VOID *MipiSystHandle | |
| ) | |
| { | |
| MIPI_SYST_HANDLE *MipiSystH; | |
| MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
| if (MipiSystH == NULL) { | |
| return RETURN_INVALID_PARAMETER; | |
| } | |
| mipi_syst_init (MipiSystH->systh_header, 0, NULL); | |
| return RETURN_SUCCESS; | |
| } | |
| /** | |
| Invoke write_debug_string function in Mipi Sys-T module. | |
| @param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
| @param[in] Severity Severity type of input message. | |
| @param[in] Len Length of data buffer. | |
| @param[in] Str A pointer to data buffer. | |
| @retval RETURN_SUCCESS Data in buffer was processed. | |
| @retval RETURN_ABORTED No data need to be written to Trace Hub. | |
| @retval RETURN_INVALID_PARAMETER On entry, MipiSystHandle or Str is a NULL pointer. | |
| **/ | |
| RETURN_STATUS | |
| EFIAPI | |
| MipiSystWriteDebug ( | |
| IN MIPI_SYST_HANDLE *MipiSystHandle, | |
| IN UINT32 Severity, | |
| IN UINT16 Len, | |
| IN CONST CHAR8 *Str | |
| ) | |
| { | |
| MIPI_SYST_HANDLE *MipiSystH; | |
| MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
| if (MipiSystH == NULL) { | |
| return RETURN_INVALID_PARAMETER; | |
| } | |
| if (Len == 0) { | |
| // | |
| // No data need to be written to Trace Hub | |
| // | |
| return RETURN_ABORTED; | |
| } | |
| if (Str == NULL) { | |
| return RETURN_INVALID_PARAMETER; | |
| } | |
| mipi_syst_write_debug_string ( | |
| MipiSystH, | |
| MIPI_SYST_NOLOCATION, | |
| MIPI_SYST_STRING_GENERIC, | |
| Severity, | |
| Len, | |
| Str | |
| ); | |
| return RETURN_SUCCESS; | |
| } | |
| /** | |
| Invoke catalog_write_message function in Mipi Sys-T module. | |
| @param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
| @param[in] Severity Severity type of input message. | |
| @param[in] CatId Catalog Id. | |
| @retval RETURN_SUCCESS Data in buffer was processed. | |
| @retval RETURN_INVALID_PARAMETER On entry, MipiSystHandle is a NULL pointer. | |
| **/ | |
| RETURN_STATUS | |
| EFIAPI | |
| MipiSystWriteCatalog ( | |
| IN MIPI_SYST_HANDLE *MipiSystHandle, | |
| IN UINT32 Severity, | |
| IN UINT64 CatId | |
| ) | |
| { | |
| MIPI_SYST_HANDLE *MipiSystH; | |
| MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
| if (MipiSystH == NULL) { | |
| return RETURN_INVALID_PARAMETER; | |
| } | |
| mipi_syst_write_catalog64_message ( | |
| MipiSystH, | |
| MIPI_SYST_NOLOCATION, | |
| Severity, | |
| CatId | |
| ); | |
| return RETURN_SUCCESS; | |
| } |