diff options
Diffstat (limited to 'sound/soc/codecs/ymu831/mcdebuglog.c')
-rw-r--r-- | sound/soc/codecs/ymu831/mcdebuglog.c | 1514 |
1 files changed, 1514 insertions, 0 deletions
diff --git a/sound/soc/codecs/ymu831/mcdebuglog.c b/sound/soc/codecs/ymu831/mcdebuglog.c new file mode 100644 index 0000000..2616625 --- /dev/null +++ b/sound/soc/codecs/ymu831/mcdebuglog.c @@ -0,0 +1,1514 @@ +/**************************************************************************** + * + * Copyright(c) 2012 Yamaha Corporation. All rights reserved. + * + * Module : mcdebuglog.c + * + * Description : MC Driver debug log + * + * Version : 1.0.0 2012.12.13 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ****************************************************************************/ + + +#include "mcdebuglog.h" +#include "mcresctrl.h" + +#if MCDRV_DEBUG_LEVEL + +#include "mcdefs.h" +#include "mcdevprof.h" +#include "mcservice.h" +#include "mcmachdep.h" + + + +#define CHAR char + +static CHAR gsbLogString[8192]; +static CHAR gsbLFCode[] = "\n"; + +static const CHAR gsbCmdName[][20] = { + "init", + "term", + "read_reg", + "write_reg", + "get_clocksw", + "set_clocksw", + "get_path", + "set_path", + "get_volume", + "set_volume", + "get_digitalio", + "set_digitalio", + "get_digitalio_path", + "set_digitalio_path", + "get_swap", + "set_swap", + "set_dsp", + "get_dsp", + "get_dsp_data", + "set_dsp_data", + "register_dsp_cb", + "get_dsp_transition", + "irq", + "get_hsdet", + "set_hsdet", + "config_gp", + "mask_gp", + "getset_gp" +}; + +static void OutputRegDump(void); +static void GetRegDump(CHAR *psbLogString, + UINT8 bSlaveAddr, + UINT8 bADRAddr, + UINT8 bWINDOWAddr, + UINT8 bRegType); + +static void MakeInitInfoLog(const struct MCDRV_INIT_INFO *pvPrm1); +static void MakeRegInfoLog(const struct MCDRV_REG_INFO *pvPrm1); +static void MakeClockSwInfoLog(const struct MCDRV_CLOCKSW_INFO *pvPrm1); +static void MakePathInfoLog(const struct MCDRV_PATH_INFO *pvPrm1); +static void MakeVolInfoLog(const struct MCDRV_VOL_INFO *pvPrm1); +static void MakeDIOInfoLog(const struct MCDRV_DIO_INFO *pvPrm1); +static void MakeDIOPathInfoLog(const struct MCDRV_DIOPATH_INFO *pvPrm1); +static void MakeSwapInfoLog(const struct MCDRV_SWAP_INFO *pvPrm1); +static void MakeDspLog(const UINT8 *pvPrm1, UINT32 dPrm); +static void MakeDspPrmLog(const struct MCDRV_DSP_PARAM *pvPrm1, + const void *pvPrm2, + UINT32 dPrm); +static void MakeHSDETInfoLog(const struct MCDRV_HSDET_INFO *pvPrm1); +static void MakeGPModeLog(const struct MCDRV_GP_MODE *pvPrm1); +static void MakeGPMaskLog(const UINT8 *pvPrm1); +static void MakeGetSetGPLog(const UINT8 *pvPrm1); + +/**************************************************************************** + * McDebugLog_CmdIn + * + * Description: + * Output Function entrance log. + * Arguments: + * dCmd Command ID + * pvPrm1 pointer to parameter + * pvPrm2 pointer to parameter + * dPrm parameter + * Return: + * none + * + ****************************************************************************/ +void McDebugLog_CmdIn( + UINT32 dCmd, + const void *pvPrm1, + const void *pvPrm2, + UINT32 dPrm +) +{ + CHAR sbStr[80]; + UINT8 bLevel = MCDRV_DEBUG_LEVEL; + + if (dCmd >= sizeof(gsbCmdName)/sizeof(gsbCmdName[0])) { + ; + return; + } + + strcpy(gsbLogString, gsbCmdName[dCmd]); + strcat(gsbLogString, " In"); + + if (bLevel < 2) { + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + return; + } + + switch (dCmd) { + case MCDRV_INIT: + MakeInitInfoLog((struct MCDRV_INIT_INFO *)pvPrm1); + break; + case MCDRV_READ_REG: + case MCDRV_WRITE_REG: + MakeRegInfoLog((struct MCDRV_REG_INFO *)pvPrm1); + break; + case MCDRV_SET_CLOCKSW: + MakeClockSwInfoLog((struct MCDRV_CLOCKSW_INFO *)pvPrm1); + break; + case MCDRV_SET_PATH: + MakePathInfoLog((struct MCDRV_PATH_INFO *)pvPrm1); + break; + case MCDRV_SET_VOLUME: + MakeVolInfoLog((struct MCDRV_VOL_INFO *)pvPrm1); + break; + case MCDRV_SET_DIGITALIO: + MakeDIOInfoLog((struct MCDRV_DIO_INFO *)pvPrm1); + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + case MCDRV_SET_DIGITALIO_PATH: + MakeDIOPathInfoLog((struct MCDRV_DIOPATH_INFO *)pvPrm1); + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + case MCDRV_SET_SWAP: + MakeSwapInfoLog((struct MCDRV_SWAP_INFO *)pvPrm1); + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + case MCDRV_SET_DSP: + MakeDspLog((UINT8 *)pvPrm1, dPrm); + break; + case MCDRV_GET_DSP: + sprintf(sbStr, " dType=%08lX", + ((struct MCDRV_DSP_PARAM *)pvPrm1)->dType); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " dInfo=%08lX", + ((struct MCDRV_DSP_PARAM *)pvPrm1)->dInfo); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " pvPrm2=%p", pvPrm2); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + case MCDRV_GET_DSP_DATA: + sprintf(sbStr, " pvPrm1=%p", pvPrm2); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + case MCDRV_SET_DSP_DATA: + MakeDspLog((UINT8 *)pvPrm1, dPrm); + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + case MCDRV_GET_DSP_TRANSITION: + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + case MCDRV_REGISTER_DSP_CB: + sprintf(sbStr, " dPrm=%p", pvPrm1); + strcat(gsbLogString, sbStr); + break; + case MCDRV_SET_HSDET: + MakeHSDETInfoLog((struct MCDRV_HSDET_INFO *)pvPrm1); + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + case MCDRV_CONFIG_GP: + MakeGPModeLog((struct MCDRV_GP_MODE *)pvPrm1); + break; + case MCDRV_MASK_GP: + MakeGPMaskLog((UINT8 *)pvPrm1); + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + case MCDRV_GETSET_GP: + MakeGetSetGPLog((UINT8 *)pvPrm1); + sprintf(sbStr, " dPrm=%08lX", dPrm); + strcat(gsbLogString, sbStr); + break; + + default: + break; + } + + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); +} + +/**************************************************************************** + * McDebugLog_CmdOut + * + * Description: + * Output Function exit log. + * Arguments: + * dCmd Command ID + * psdRet retrun value + * pvPrm1 pointer to parameter + * pvPrm2 pointer to parameter + * dPrm parameter + * Return: + * none + * + ****************************************************************************/ +void McDebugLog_CmdOut( + UINT32 dCmd, + const SINT32 *psdRet, + const void *pvPrm1, + const void *pvPrm2, + UINT32 dPrm +) +{ + CHAR sbStr[80]; + UINT8 bLevel = MCDRV_DEBUG_LEVEL; + + if (dCmd >= sizeof(gsbCmdName)/sizeof(gsbCmdName[0])) { + ; + return; + } + + strcpy(gsbLogString, gsbCmdName[dCmd]); + strcat(gsbLogString, " Out"); + if (psdRet != NULL) { + sprintf(sbStr, " ret=%ld", *psdRet); + strcat(gsbLogString, sbStr); + } + + if (bLevel < 2) { + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + return; + } + + switch (dCmd) { + case MCDRV_READ_REG: + MakeRegInfoLog((struct MCDRV_REG_INFO *)pvPrm1); + break; + case MCDRV_GET_CLOCKSW: + MakeClockSwInfoLog((struct MCDRV_CLOCKSW_INFO *)pvPrm1); + break; + case MCDRV_GET_PATH: + MakePathInfoLog((struct MCDRV_PATH_INFO *)pvPrm1); + break; + case MCDRV_GET_VOLUME: + MakeVolInfoLog((struct MCDRV_VOL_INFO *)pvPrm1); + break; + case MCDRV_GET_DIGITALIO: + MakeDIOInfoLog((struct MCDRV_DIO_INFO *)pvPrm1); + break; + case MCDRV_GET_DIGITALIO_PATH: + MakeDIOPathInfoLog((struct MCDRV_DIOPATH_INFO *)pvPrm1); + break; + case MCDRV_GET_SWAP: + MakeSwapInfoLog((struct MCDRV_SWAP_INFO *)pvPrm1); + break; + case MCDRV_GET_DSP: + MakeDspPrmLog((struct MCDRV_DSP_PARAM *)pvPrm1, pvPrm2, dPrm); + break; + case MCDRV_GET_DSP_DATA: + MakeDspLog((UINT8 *)pvPrm1, dPrm); + break; + case MCDRV_GET_HSDET: + MakeHSDETInfoLog((struct MCDRV_HSDET_INFO *)pvPrm1); + break; + case MCDRV_GETSET_GP: + MakeGetSetGPLog((UINT8 *)pvPrm1); + break; + + default: + break; + } + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + if (bLevel < 3) { + ; + return; + } + + OutputRegDump(); +} + +/**************************************************************************** + * McDebugLog_FuncIn + * + * Description: + * Output Function entrance log. + * Arguments: + * pbFuncName function name + * Return: + * none + * + ****************************************************************************/ +void McDebugLog_FuncIn( + void *pvFuncName +) +{ + strcpy(gsbLogString, (CHAR *)pvFuncName); + strcat(gsbLogString, " In"); + + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); +} + +/**************************************************************************** + * McDebugLog_FuncOut + * + * Description: + * Output Function exit log. + * Arguments: + * pbFuncName function name + * psdRet retrun value + * Return: + * none + * + ****************************************************************************/ +void McDebugLog_FuncOut( + void *pvFuncName, + const SINT32 *psdRet +) +{ + CHAR sbStr[80]; + + strcpy(gsbLogString, (CHAR *)pvFuncName); + strcat(gsbLogString, " Out"); + if (psdRet != NULL) { + sprintf(sbStr, " ret=%ld", *psdRet); + strcat(gsbLogString, sbStr); + } + + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); +} + + +/**************************************************************************** + * OutputRegDump + * + * Description: + * Output Register dump. + * Arguments: + * none + * Return: + * none + * + ****************************************************************************/ +static void OutputRegDump +( + void +) +{ + UINT16 i; + CHAR sbStr[10]; + UINT8 bSlaveAddr_dig, bSlaveAddr_ana; + struct MCDRV_REG_INFO sRegInfo; + + bSlaveAddr_dig = McDevProf_GetSlaveAddr(eMCDRV_SLAVE_ADDR_DIG); + bSlaveAddr_ana = McDevProf_GetSlaveAddr(eMCDRV_SLAVE_ADDR_ANA); + + /* IF_REG */ + sRegInfo.bRegType = MCDRV_REGTYPE_IF; + strcpy(gsbLogString, "IF_REG:"); + for (i = 0; i < 256UL; i++) { + sRegInfo.bAddress = (UINT8)i; + if ((McResCtrl_GetRegAccess(&sRegInfo) + & eMCDRV_CAN_READ) != 0) { + sprintf(sbStr, "[%d]=%02X", + i, McSrv_ReadReg(bSlaveAddr_dig, i)); + strcat(gsbLogString, sbStr); + if (i < 255UL) { + ; + strcat(gsbLogString, " "); + } + } + } + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + /* A_REG */ + strcpy(gsbLogString, "A_REG:"); + GetRegDump(gsbLogString, bSlaveAddr_dig, + MCI_A_REG_A, MCI_A_REG_D, MCDRV_REGTYPE_A); + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + /* MA_REG */ + strcpy(gsbLogString, "MA_REG:"); + GetRegDump(gsbLogString, bSlaveAddr_dig, + MCI_MA_REG_A, MCI_MA_REG_D, MCDRV_REGTYPE_MA); + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + /* MB_REG */ + strcpy(gsbLogString, "MB_REG:"); + GetRegDump(gsbLogString, bSlaveAddr_dig, + MCI_MB_REG_A, MCI_MB_REG_D, MCDRV_REGTYPE_MB); + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + /* B_REG */ + strcpy(gsbLogString, "B_REG:"); + GetRegDump(gsbLogString, bSlaveAddr_dig, + MCI_B_REG_A, MCI_B_REG_D, MCDRV_REGTYPE_B); + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + /* E_REG */ + strcpy(gsbLogString, "E_REG:"); + GetRegDump(gsbLogString, bSlaveAddr_dig, + MCI_E_REG_A, MCI_E_REG_D, MCDRV_REGTYPE_E); + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + /* C_REG */ + strcpy(gsbLogString, "C_REG:"); + GetRegDump(gsbLogString, bSlaveAddr_dig, + MCI_C_REG_A, MCI_C_REG_D, MCDRV_REGTYPE_C); + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + /* F_REG */ + strcpy(gsbLogString, "F_REG:"); + GetRegDump(gsbLogString, bSlaveAddr_dig, + MCI_F_REG_A, MCI_F_REG_D, MCDRV_REGTYPE_F); + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + /* ANA_REG */ + strcpy(gsbLogString, "ANA_REG:"); + GetRegDump(gsbLogString, bSlaveAddr_ana, + MCI_ANA_REG_A, MCI_ANA_REG_D, MCDRV_REGTYPE_ANA); + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); + + /* CD_REG */ + strcpy(gsbLogString, "CD_REG:"); + GetRegDump(gsbLogString, bSlaveAddr_ana, + MCI_CD_REG_A, MCI_CD_REG_D, MCDRV_REGTYPE_CD); + strcat(gsbLogString, gsbLFCode); + machdep_DebugPrint((UINT8 *)(void *)gsbLogString); +} + +/**************************************************************************** + * GetRegDump + * + * Description: + * Get Register dump string. + * Arguments: + * psbLogString string buffer + * bSlaveAddr Slave address + * bADRAddr ADR address + * bWINDOWAddr WINDOW address + * bRegType register type + * Return: + * none + * + ****************************************************************************/ +static void GetRegDump +( + CHAR *psbLogString, + UINT8 bSlaveAddr, + UINT8 bADRAddr, + UINT8 bWINDOWAddr, + UINT8 bRegType +) +{ + UINT16 i; + CHAR sbStr[10]; + UINT8 abData[2]; + struct MCDRV_REG_INFO sRegInfo; + + abData[0] = bADRAddr<<1; + sRegInfo.bRegType = bRegType; + + for (i = 0; i < 256UL; i++) { + sRegInfo.bAddress = (UINT8)i; + if ((McResCtrl_GetRegAccess(&sRegInfo) + & eMCDRV_CAN_READ) != 0) { + abData[1] = (UINT8)i; + McSrv_WriteReg(bSlaveAddr, abData, 2); + sprintf(sbStr, "[%d]=%02X", + i, McSrv_ReadReg(bSlaveAddr, bWINDOWAddr)); + strcat(psbLogString, sbStr); + if (i < 255UL) { + ; + strcat(psbLogString, " "); + } + } + } +} + +/**************************************************************************** + * MakeInitInfoLog + * + * Description: + * Make Init Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeInitInfoLog +( + const struct MCDRV_INIT_INFO *pvPrm1 +) +{ + CHAR sbStr[80]; + int i; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + sprintf(sbStr, " bCkSel=%02X", pvPrm1->bCkSel); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bCkInput=%02X", pvPrm1->bCkInput); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPllModeA=%02X", pvPrm1->bPllModeA); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPllPrevDivA=%02X", pvPrm1->bPllPrevDivA); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " wPllFbDivA=%04X", pvPrm1->wPllFbDivA); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " wPllFracA=%04X", pvPrm1->wPllFracA); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPllFreqA=%02X", pvPrm1->bPllFreqA); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPllModeB=%02X", pvPrm1->bPllModeB); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPllPrevDivB=%02X", pvPrm1->bPllPrevDivB); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " wPllFbDivB=%04X", pvPrm1->wPllFbDivB); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " wPllFracB=%04X", pvPrm1->wPllFracB); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPllFreqB=%02X", pvPrm1->bPllFreqB); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bHsdetClk=%02X", pvPrm1->bHsdetClk); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bDio0SdoHiz=%02X", pvPrm1->bDio0SdoHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bDio1SdoHiz=%02X", pvPrm1->bDio1SdoHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bDio2SdoHiz=%02X", pvPrm1->bDio2SdoHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bDio0ClkHiz=%02X", pvPrm1->bDio0ClkHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bDio1ClkHiz=%02X", pvPrm1->bDio1ClkHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bDio2ClkHiz=%02X", pvPrm1->bDio2ClkHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bDio0PcmHiz=%02X", pvPrm1->bDio0PcmHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bDio1PcmHiz=%02X", pvPrm1->bDio1PcmHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bDio2PcmHiz=%02X", pvPrm1->bDio2PcmHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPa0Func=%02X", pvPrm1->bPa0Func); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPa1Func=%02X", pvPrm1->bPa1Func); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPa2Func=%02X", pvPrm1->bPa2Func); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPowerMode=%02X", pvPrm1->bPowerMode); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bMbSel1=%02X", pvPrm1->bMbSel1); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bMbSel2=%02X", pvPrm1->bMbSel2); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bMbSel3=%02X", pvPrm1->bMbSel3); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bMbSel4=%02X", pvPrm1->bMbSel4); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bMbsDisch=%02X", pvPrm1->bMbsDisch); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bNonClip=%02X", pvPrm1->bNonClip); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bLineIn1Dif=%02X", pvPrm1->bLineIn1Dif); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bLineOut1Dif=%02X", pvPrm1->bLineOut1Dif); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bLineOut2Dif=%02X", pvPrm1->bLineOut2Dif); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bMic1Sng=%02X", pvPrm1->bMic1Sng); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bMic2Sng=%02X", pvPrm1->bMic2Sng); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bMic3Sng=%02X", pvPrm1->bMic3Sng); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bMic4Sng=%02X", pvPrm1->bMic4Sng); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bZcLineOut1=%02X", pvPrm1->bZcLineOut1); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bZcLineOut2=%02X", pvPrm1->bZcLineOut2); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bZcRc=%02X", pvPrm1->bZcRc); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bZcSp=%02X", pvPrm1->bZcSp); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bZcHp=%02X", pvPrm1->bZcHp); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bSvolLineOut1=%02X", pvPrm1->bSvolLineOut1); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bSvolLineOut2=%02X", pvPrm1->bSvolLineOut2); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bSvolRc=%02X", pvPrm1->bSvolRc); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bSvolSp=%02X", pvPrm1->bSvolSp); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bSvolHp=%02X", pvPrm1->bSvolHp); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bRcHiz=%02X", pvPrm1->bRcHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bSpHiz=%02X", pvPrm1->bSpHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bHpHiz=%02X", pvPrm1->bHpHiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bLineOut1Hiz=%02X", pvPrm1->bLineOut1Hiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bLineOut2Hiz=%02X", pvPrm1->bLineOut2Hiz); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bCpMod=%02X", pvPrm1->bCpMod); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bRbSel=%02X", pvPrm1->bRbSel); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPlugSel=%02X", pvPrm1->bPlugSel); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bGndDet=%02X", pvPrm1->bGndDet); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPpdRc=%02X", pvPrm1->bPpdRc); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPpdSp=%02X", pvPrm1->bPpdSp); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " =bPpdHp%02X", pvPrm1->bPpdHp); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPpdLineOut1=%02X", pvPrm1->bPpdLineOut1); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bPpdLineOut2=%02X", pvPrm1->bPpdLineOut2); + strcat(gsbLogString, sbStr); + + for (i = 0; i < 20; i++) { + sprintf(sbStr, " dWaitTime[%02d]=%lu", + i, pvPrm1->sWaitTime.dWaitTime[i]); + strcat(gsbLogString, sbStr); + } + for (i = 0; i < 20; i++) { + sprintf(sbStr, " dPollInterval[%02d]=%lu", + i, pvPrm1->sWaitTime.dPollInterval[i]); + strcat(gsbLogString, sbStr); + } + for (i = 0; i < 20; i++) { + sprintf(sbStr, " dPollTimeOut[%02d]=%lu", + i, pvPrm1->sWaitTime.dPollTimeOut[i]); + strcat(gsbLogString, sbStr); + } +} + +/**************************************************************************** + * MakeRegInfoLog + * + * Description: + * Make Reg Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeRegInfoLog +( + const struct MCDRV_REG_INFO *pvPrm1 +) +{ + CHAR sbStr[80]; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + sprintf(sbStr, " bRegType=%02X", pvPrm1->bRegType); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bAddress=%02X", pvPrm1->bAddress); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " bData=%02X", pvPrm1->bData); + strcat(gsbLogString, sbStr); +} + + +/**************************************************************************** + * MakeClockSwInfoLog + * + * Description: + * Make Clock Switch Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeClockSwInfoLog +( + const struct MCDRV_CLOCKSW_INFO *pvPrm1 +) +{ + CHAR sbStr[80]; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + sprintf(sbStr, " bClkSrc=%02X", pvPrm1->bClkSrc); + strcat(gsbLogString, sbStr); +} + +/**************************************************************************** + * MakePathInfoLog + * + * Description: + * Make Path Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakePathInfoLog +( + const struct MCDRV_PATH_INFO *pvPrm1 +) +{ + UINT8 bCh; + CHAR sbStr[80]; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + for (bCh = 0; bCh < MUSICOUT_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asMusicOut[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asMusicOut[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < EXTOUT_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asExtOut[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asExtOut[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < HIFIOUT_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asHifiOut[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asHifiOut[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < VBOXMIXIN_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asVboxMixIn[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asVboxMixIn[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < AE_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asAe0[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asAe0[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < AE_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asAe1[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asAe1[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < AE_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asAe2[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asAe2[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < AE_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asAe3[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asAe3[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < DAC0_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asDac0[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asDac0[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < DAC1_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asDac1[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asDac1[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < VOICEOUT_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asVoiceOut[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asVoiceOut[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < VBOXIOIN_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asVboxIoIn[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asVboxIoIn[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < VBOXHOSTIN_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asVboxHostIn[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asVboxHostIn[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < HOSTOUT_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asHostOut[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asHostOut[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < ADIF0_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asAdif0[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asAdif0[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < ADIF1_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asAdif1[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asAdif1[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < ADIF2_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asAdif2[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asAdif2[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + + for (bCh = 0; bCh < ADC0_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asAdc0[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asAdc0[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < ADC1_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asAdc1[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asAdc1[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < SP_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asSp[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asSp[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < HP_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asHp[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asHp[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < RC_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asRc[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asRc[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < LOUT1_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asLout1[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asLout1[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < LOUT2_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asLout2[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asLout2[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < BIAS_PATH_CHANNELS; bCh++) { + sprintf(sbStr, " asBias[%d].dSrcOnOff=%08lX", + bCh, pvPrm1->asBias[bCh].dSrcOnOff); + strcat(gsbLogString, sbStr); + } +} + +/**************************************************************************** + * MakeVolInfoLog + * + * Description: + * Make Volume Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeVolInfoLog +( + const struct MCDRV_VOL_INFO *pvPrm1 +) +{ + UINT8 bCh; + CHAR sbStr[80]; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + for (bCh = 0; bCh < MUSICIN_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_MusicIn[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_MusicIn[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < EXTIN_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_ExtIn[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_ExtIn[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < VOICEIN_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_VoiceIn[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_VoiceIn[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < REFIN_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_RefIn[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_RefIn[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < ADIF0IN_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_Adif0In[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_Adif0In[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < ADIF1IN_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_Adif1In[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_Adif1In[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < ADIF2IN_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_Adif2In[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_Adif2In[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < MUSICOUT_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_MusicOut[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_MusicOut[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < EXTOUT_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_ExtOut[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_ExtOut[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < VOICEOUT_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_VoiceOut[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_VoiceOut[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < REFOUT_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_RefOut[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_RefOut[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < DAC0OUT_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_Dac0Out[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_Dac0Out[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < DAC1OUT_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_Dac1Out[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_Dac1Out[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < DPATH_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_DpathDa[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_DpathDa[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < DPATH_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswD_DpathAd[%d]=%04X", + bCh, (UINT16)pvPrm1->aswD_DpathAd[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < LINEIN1_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_LineIn1[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_LineIn1[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < MIC1_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_Mic1[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_Mic1[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < MIC2_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_Mic2[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_Mic2[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < MIC3_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_Mic3[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_Mic3[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < MIC4_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_Mic4[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_Mic4[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < HP_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_Hp[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_Hp[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < SP_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_Sp[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_Sp[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < RC_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_Rc[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_Rc[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < LINEOUT1_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_LineOut1[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_LineOut1[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < LINEOUT2_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_LineOut2[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_LineOut2[bCh]); + strcat(gsbLogString, sbStr); + } + for (bCh = 0; bCh < HPDET_VOL_CHANNELS; bCh++) { + sprintf(sbStr, " aswA_HpDet[%d]=%04X", + bCh, (UINT16)pvPrm1->aswA_HpDet[bCh]); + strcat(gsbLogString, sbStr); + } +} + +/**************************************************************************** + * MakeDIOInfoLog + * + * Description: + * Make Digital I/O Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeDIOInfoLog +( + const struct MCDRV_DIO_INFO *pvPrm1 +) +{ + CHAR sbStr[80]; + UINT8 bPort; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + for (bPort = 0; bPort < 4; bPort++) { + sprintf(sbStr, " asPortInfo[%d].sDioCommon.bMasterSlave=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bMasterSlave); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDioCommon.bAutoFs=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bAutoFs); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDioCommon.bFs=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bFs); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDioCommon.bBckFs=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bBckFs); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDioCommon.bInterface=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bInterface); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDioCommon.bBckInvert=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bBckInvert); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDioCommon.bSrcThru=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bSrcThru); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDioCommon.bPcmHizTim=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bPcmHizTim); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDioCommon.bPcmFrame=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bPcmFrame); + strcat(gsbLogString, sbStr); + sprintf(sbStr, + " asPortInfo[%d].sDioCommon.bPcmHighPeriod=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDioCommon.bPcmHighPeriod); + strcat(gsbLogString, sbStr); + + sprintf(sbStr, " asPortInfo[%d].sDir.sDaFormat.bBitSel=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDir.sDaFormat.bBitSel); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDir.sDaFormat.bMode=%02X", + bPort, pvPrm1->asPortInfo[bPort].sDir.sDaFormat.bMode); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDir.sPcmFormat.bMono=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDir.sPcmFormat.bMono); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDir.sPcmFormat.bOrder=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDir.sPcmFormat.bOrder); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDir.sPcmFormat.bLaw=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDir.sPcmFormat.bLaw); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDir.sPcmFormat.bBitSel=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDir.sPcmFormat.bBitSel); + strcat(gsbLogString, sbStr); + + sprintf(sbStr, " asPortInfo[%d].sDit.bStMode=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDit.bStMode); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDit.bEdge=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDit.bEdge); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDit.sDaFormat.bBitSel=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDit.sDaFormat.bBitSel); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDit.sDaFormat.bMode=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDit.sDaFormat.bMode); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDit.sPcmFormat.bMono=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDit.sPcmFormat.bMono); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDit.sPcmFormat.bOrder=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDit.sPcmFormat.bOrder); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDit.sPcmFormat.bLaw=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDit.sPcmFormat.bLaw); + strcat(gsbLogString, sbStr); + sprintf(sbStr, " asPortInfo[%d].sDit.sPcmFormat.bBitSel=%02X", + bPort, + pvPrm1->asPortInfo[bPort].sDit.sPcmFormat.bBitSel); + strcat(gsbLogString, sbStr); + } +} + +/**************************************************************************** + * MakeDIOPathInfoLog + * + * Description: + * Make Digital I/O path Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeDIOPathInfoLog +( + const struct MCDRV_DIOPATH_INFO *pvPrm1 +) +{ + CHAR sbStr[80]; + UINT8 bPort; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + for (bPort = 0; bPort < 4; bPort++) { + sprintf(sbStr, " abPhysPort[%d]=%02X", + bPort, pvPrm1->abPhysPort[bPort]); + strcat(gsbLogString, sbStr); + } + sprintf(sbStr, " bMusicCh=%02X", pvPrm1->bMusicCh); + strcat(gsbLogString, sbStr); + for (bPort = 0; bPort < 3; bPort++) { + sprintf(sbStr, " abMusicRSlot[%d]=%02X", + bPort, pvPrm1->abMusicRSlot[bPort]); + strcat(gsbLogString, sbStr); + } + for (bPort = 0; bPort < 3; bPort++) { + sprintf(sbStr, " abMusicTSlot[%d]=%02X", + bPort, pvPrm1->abMusicTSlot[bPort]); + strcat(gsbLogString, sbStr); + } +} + +/**************************************************************************** + * MakeSwapInfoLog + * + * Description: + * Make Swap Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeSwapInfoLog +( + const struct MCDRV_SWAP_INFO *pvPrm1 +) +{ + CHAR sbStr[80]; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + sprintf(sbStr, " bAdif0=%02X", pvPrm1->bAdif0); + sprintf(sbStr, " bAdif1=%02X", pvPrm1->bAdif1); + sprintf(sbStr, " bAdif2=%02X", pvPrm1->bAdif2); + sprintf(sbStr, " bDac0=%02X", pvPrm1->bDac0); + sprintf(sbStr, " bDac1=%02X", pvPrm1->bDac1); + sprintf(sbStr, " bMusicIn0=%02X", pvPrm1->bMusicIn0); + sprintf(sbStr, " bMusicIn1=%02X", pvPrm1->bMusicIn1); + sprintf(sbStr, " bMusicIn2=%02X", pvPrm1->bMusicIn2); + sprintf(sbStr, " bExtIn=%02X", pvPrm1->bExtIn); + sprintf(sbStr, " bVoiceIn=%02X", pvPrm1->bVoiceIn); + sprintf(sbStr, " bHifiIn=%02X", pvPrm1->bHifiIn); + sprintf(sbStr, " bMusicOut0=%02X", pvPrm1->bMusicOut0); + sprintf(sbStr, " bMusicOut1=%02X", pvPrm1->bMusicOut1); + sprintf(sbStr, " bMusicOut2=%02X", pvPrm1->bMusicOut2); + sprintf(sbStr, " bExtOut=%02X", pvPrm1->bExtOut); + sprintf(sbStr, " bVoiceOut=%02X", pvPrm1->bVoiceOut); + sprintf(sbStr, " bHifiOut=%02X", pvPrm1->bHifiOut); + strcat(gsbLogString, sbStr); +} + +/**************************************************************************** + * MakeDspLog + * + * Description: + * Make DSP Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeDspLog( + const UINT8 *pvPrm1, + UINT32 dPrm +) +{ + CHAR sbStr[80]; + UINT32 i; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + sprintf(sbStr, " param="); + strcat(gsbLogString, sbStr); + for (i = 0; i < dPrm; i++) { + sprintf(sbStr, " %d", pvPrm1[i]); + strcat(gsbLogString, sbStr); + } +} + +/**************************************************************************** + * MakeDspPrmLog + * + * Description: + * Make DSP Param Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeDspPrmLog +( + const struct MCDRV_DSP_PARAM *pvPrm1, + const void *pvPrm2, + UINT32 dPrm +) +{ + CHAR sbStr[80]; + UINT32 i; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " pvPrm1=NULL"); + return; + } + if (pvPrm2 == NULL) { + strcat(gsbLogString, " pvPrm2=NULL"); + return; + } + if ((pvPrm1->dType == MCDRV_DSP_PARAM_CDSP_INPOS) + || (pvPrm1->dType == MCDRV_DSP_PARAM_CDSP_OUTPOS) + || (pvPrm1->dType == MCDRV_DSP_PARAM_CDSP_DFIFO_REMAIN) + || (pvPrm1->dType == MCDRV_DSP_PARAM_CDSP_RFIFO_REMAIN)) { + sprintf(sbStr, " param=%ld", *((UINT32 *)pvPrm2)); + strcat(gsbLogString, sbStr); + } else { + sprintf(sbStr, " param="); + strcat(gsbLogString, sbStr); + for (i = 0; i < dPrm; i++) { + sprintf(sbStr, " %d", ((UINT8 *)pvPrm2)[i]); + strcat(gsbLogString, sbStr); + } + } +} + +/**************************************************************************** + * MakeHSDETInfoLog + * + * Description: + * Make HSDET Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeHSDETInfoLog +( + const struct MCDRV_HSDET_INFO *pvPrm1 +) +{ + CHAR sbStr[80]; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + sprintf(sbStr, " bEnPlugDet=%02X", pvPrm1->bEnPlugDet); + sprintf(sbStr, " bEnPlugDetDb=%02X", pvPrm1->bEnPlugDetDb); + sprintf(sbStr, " bEnDlyKeyOff=%02X", pvPrm1->bEnDlyKeyOff); + sprintf(sbStr, " bEnDlyKeyOn=%02X", pvPrm1->bEnDlyKeyOn); + sprintf(sbStr, " bEnMicDet=%02X", pvPrm1->bEnMicDet); + sprintf(sbStr, " bEnKeyOff=%02X", pvPrm1->bEnKeyOff); + sprintf(sbStr, " bEnKeyOn=%02X", pvPrm1->bEnKeyOn); + sprintf(sbStr, " bHsDetDbnc=%02X", pvPrm1->bHsDetDbnc); + sprintf(sbStr, " bKeyOffMtim=%02X", pvPrm1->bKeyOffMtim); + sprintf(sbStr, " bKeyOnMtim=%02X", pvPrm1->bKeyOnMtim); + sprintf(sbStr, " bKey0OffDlyTim=%02X", pvPrm1->bKey0OffDlyTim); + sprintf(sbStr, " bKey1OffDlyTim=%02X", pvPrm1->bKey1OffDlyTim); + sprintf(sbStr, " bKey2OffDlyTim=%02X", pvPrm1->bKey2OffDlyTim); + sprintf(sbStr, " bKey0OnDlyTim=%02X", pvPrm1->bKey0OnDlyTim); + sprintf(sbStr, " bKey1OnDlyTim=%02X", pvPrm1->bKey1OnDlyTim); + sprintf(sbStr, " bKey2OnDlyTim=%02X", pvPrm1->bKey2OnDlyTim); + sprintf(sbStr, " bKey0OnDlyTim2=%02X", pvPrm1->bKey0OnDlyTim2); + sprintf(sbStr, " bKey1OnDlyTim2=%02X", pvPrm1->bKey1OnDlyTim2); + sprintf(sbStr, " bKey2OnDlyTim2=%02X", pvPrm1->bKey2OnDlyTim2); + sprintf(sbStr, " bIrqType=%02X", pvPrm1->bIrqType); + sprintf(sbStr, " bDetInInv=%02X", pvPrm1->bDetInInv); + sprintf(sbStr, " bHsDetMode=%02X", pvPrm1->bHsDetMode); + sprintf(sbStr, " bSperiod=%02X", pvPrm1->bSperiod); + sprintf(sbStr, " bLperiod=%02X", pvPrm1->bLperiod); + sprintf(sbStr, " bDbncNumPlug=%02X", pvPrm1->bDbncNumPlug); + sprintf(sbStr, " bDbncNumMic=%02X", pvPrm1->bDbncNumMic); + sprintf(sbStr, " bDbncNumKey=%02X", pvPrm1->bDbncNumKey); + sprintf(sbStr, " bSgnlPeriod=%02X", pvPrm1->bSgnlPeriod); + sprintf(sbStr, " bSgnlNum=%02X", pvPrm1->bSgnlNum); + sprintf(sbStr, " bSgnlPeak=%02X", pvPrm1->bSgnlPeak); + sprintf(sbStr, " bImpSel=%02X", pvPrm1->bImpSel); + sprintf(sbStr, " bDlyIrqStop=%02X", pvPrm1->bDlyIrqStop); + sprintf(sbStr, " cbfunc=%p", pvPrm1->cbfunc); + strcat(gsbLogString, sbStr); +} + +/**************************************************************************** + * MakeGPModeLog + * + * Description: + * Make GPIO mode Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeGPModeLog +( + const struct MCDRV_GP_MODE *pvPrm1 +) +{ + CHAR sbStr[80]; + UINT8 bPadNo; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + for (bPadNo = 0; bPadNo < 3; bPadNo++) { + sprintf(sbStr, " abGpDdr[%d]=%02X", + bPadNo, pvPrm1->abGpDdr[bPadNo]); + strcat(gsbLogString, sbStr); + } + for (bPadNo = 0; bPadNo < 3; bPadNo++) { + sprintf(sbStr, " abGpHost[%d]=%02X", + bPadNo, pvPrm1->abGpHost[bPadNo]); + strcat(gsbLogString, sbStr); + } + for (bPadNo = 0; bPadNo < 3; bPadNo++) { + sprintf(sbStr, " abGpInvert[%d]=%02X", + bPadNo, pvPrm1->abGpInvert[bPadNo]); + strcat(gsbLogString, sbStr); + } +} + +/**************************************************************************** + * MakeGPMaskLog + * + * Description: + * Make GPIO Mask Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeGPMaskLog +( + const UINT8 *pvPrm1 +) +{ + CHAR sbStr[80]; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + sprintf(sbStr, " mask=%02X", *pvPrm1); + strcat(gsbLogString, sbStr); +} + +/**************************************************************************** + * MakeGetSetGPLog + * + * Description: + * Make Get/Set GPIO Info Parameter log. + * Arguments: + * pvPrm1 pointer to parameter + * Return: + * none + * + ****************************************************************************/ +static void MakeGetSetGPLog +( + const UINT8 *pvPrm1 +) +{ + CHAR sbStr[80]; + + if (pvPrm1 == NULL) { + strcat(gsbLogString, " param=NULL"); + return; + } + + sprintf(sbStr, " HiLow=%02X", *pvPrm1); + strcat(gsbLogString, sbStr); +} + + + +#endif /* MCDRV_DEBUG_LEVEL */ |