123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- /*
- * Copyright (c) 2019, Chips&Media
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- #ifndef _DEBUG_H_
- #define _DEBUG_H_
- #ifdef USE_FEEDING_METHOD_BUFFER
- #include "wave511/config.h"
- #include "wave511/sample_v2/helper/main_helper.h"
- #else
- #include "config.h"
- #include "main_helper.h"
- #endif
- enum {
- CNMQC_ENV_NONE,
- CNMQC_ENV_GDBSERVER, /*!<< It executes gdb server in order to debug F/W on the C&M FPGA env. */
- CNMQC_ENV_MAX,
- };
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
- extern void InitializeDebugEnv(Uint32 options);
- extern void ReleaseDebugEnv(void);
- extern void ExecuteDebugger(void);
- void ChekcAndPrintDebugInfo(VpuHandle handle, BOOL isEnc, RetCode result);
- void PrintDecVpuStatus(
- DecHandle handle
- );
- void PrintEncVpuStatus(
- EncHandle handle
- );
- void PrintMemoryAccessViolationReason(
- Uint32 core_idx,
- void *outp
- );
- #define VCORE_DBG_ADDR(__vCoreIdx) 0x8000+(0x1000*__vCoreIdx) + 0x300
- #define VCORE_DBG_DATA(__vCoreIdx) 0x8000+(0x1000*__vCoreIdx) + 0x304
- #define VCORE_DBG_READY(__vCoreIdx) 0x8000+(0x1000*__vCoreIdx) + 0x308
- void WriteRegVCE(
- Uint32 core_idx,
- Uint32 vce_core_idx,
- Uint32 vce_addr,
- Uint32 udata
- );
- Uint32 ReadRegVCE(
- Uint32 core_idx,
- Uint32 vce_core_idx,
- Uint32 vce_addr
- );
- extern char dumpTime[200];
- #define HEXDUMP_COLS 16
- void DisplayHex(void *mem, Uint32 len, char* name);
- RetCode PrintVpuProductInfo(
- Uint32 core_idx,
- VpuAttr* productInfo
- );
- Int32 HandleDecInitSequenceError(
- DecHandle handle,
- Uint32 productId,
- DecOpenParam* openParam,
- DecInitialInfo* seqInfo,
- RetCode apiErrorCode
- );
- void HandleDecoderError(
- DecHandle handle,
- Uint32 frameIdx,
- DecOutputInfo* outputInfo
- );
- void DumpCodeBuffer(
- const char* path
- );
- void HandleEncoderError(
- EncHandle handle,
- Uint32 encPicCnt,
- EncOutputInfo* outputInfo
- );
- Uint32 SetEncoderTimeout(
- int width,
- int height
- );
- void print_busy_timeout_status(
- Uint32 coreIdx,
- Uint32 product_code,
- Uint32 pc
- );
- void wave5xx_vcpu_status (
- unsigned long coreIdx
- );
- void vdi_print_vpu_status(
- unsigned long coreIdx
- );
- void wave5xx_bpu_status(
- Uint32 coreIdx
- );
- void vdi_print_vcore_status(
- Uint32 coreIdx
- );
- void vdi_print_vpu_status_dec(
- unsigned long coreIdx
- );
- void vdi_print_vpu_status_enc(
- unsigned long coreIdx
- );
- void vdi_log(
- unsigned long coreIdx,
- int cmd,
- int step
- );
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #endif /* _DEBUG_H_ */
|