1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations:
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 // Software and any modification/derivatives thereof.
18 // No right, ownership, or interest to MStar Software and any
19 // modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 // supplied together with third party`s software and the use of MStar
23 // Software may require additional licenses from third parties.
24 // Therefore, you hereby agree it is your sole responsibility to separately
25 // obtain any and all third party right and license necessary for your use of
26 // such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 // MStar`s confidential information and you agree to keep MStar`s
30 // confidential information in strictest confidence and not disclose to any
31 // third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 // kind. Any warranties are hereby expressly disclaimed by MStar, including
35 // without limitation, any warranties of merchantability, non-infringement of
36 // intellectual property rights, fitness for a particular purpose, error free
37 // and in conformity with any international standard. You agree to waive any
38 // claim against MStar for any loss, damage, cost or expense that you may
39 // incur related to your use of MStar Software.
40 // In no event shall MStar be liable for any direct, indirect, incidental or
41 // consequential damages, including without limitation, lost of profit or
42 // revenues, lost or damage of data, and unauthorized system use.
43 // You agree that this Section 4 shall still apply without being affected
44 // even if MStar Software has been modified by MStar in accordance with your
45 // request or instruction for your use, except otherwise agreed by both
46 // parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 // services in relation with MStar Software to you for your use of
50 // MStar Software in conjunction with your or your customer`s product
51 // ("Services").
52 // You understand and agree that, except otherwise agreed by both parties in
53 // writing, Services are provided on an "AS IS" basis and the warranty
54 // disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 // or otherwise:
58 // (a) conferring any license or right to use MStar name, trademark, service
59 // mark, symbol or any other identification;
60 // (b) obligating MStar or any of its affiliates to furnish any person,
61 // including without limitation, you and your customers, any assistance
62 // of any kind whatsoever, or any information; or
63 // (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 // of Taiwan, R.O.C., excluding its conflict of law rules.
67 // Any and all dispute arising out hereof or related hereto shall be finally
68 // settled by arbitration referred to the Chinese Arbitration Association,
69 // Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 // Rules of the Association by three (3) arbitrators appointed in accordance
71 // with the said Rules.
72 // The place of arbitration shall be in Taipei, Taiwan and the language shall
73 // be English.
74 // The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 //<MStar Software>
78 ///////////////////////////////////////////////////////////////////////////////
79 //
80 // Copyright (c) 2008-2010 MStar Semiconductor, Inc.
81 // All rights reserved.
82 //
83 // Unless otherwise stipulated in writing, any and all information contained
84 // herein regardless in any format shall remain the sole proprietary of
85 // MStar Semiconductor Inc. and be kept in strict confidence
86 // ("MStar Confidential Information") by the recipient.
87 // Any unauthorized act including without limitation unauthorized disclosure,
88 // copying, use, reproduction, sale, distribution, modification, disassembling,
89 // reverse engineering and compiling of the contents of MStar Confidential
90 // Information is unlawful and strictly prohibited. MStar hereby reserves the
91 // rights to any and all damages, losses, costs and expenses resulting therefrom.
92 //
93 ///////////////////////////////////////////////////////////////////////////////
94
95 ///////////////////////////////////////////////////////////////////////////////////////////////////
96 ///
97 /// file dmx.c
98 /// @brief Demux (DMX) API Interface
99 /// @author MStar Semiconductor,Inc.
100 /// @attention
101 ///////////////////////////////////////////////////////////////////////////////////////////////////
102
103
104 //-------------------------------------------------------------------------------------------------
105 // Include Files
106 //-------------------------------------------------------------------------------------------------
107 #include "MsTypes.h"
108 //#include <stdio.h>
109 #ifdef MSOS_TYPE_LINUX_KERNEL
110 #include <linux/string.h>
111 #else
112 #include <string.h>
113 #endif
114
115 #include "apiAUDIO.h"
116 #include "apiAUDIO_v2.h"
117 #include "apiAUDIO_private.h"
118 #include "utopia.h"
119 #include "utopia_dapi.h"
120 #include "MsOS.h"
121
122 #include "drvAUDIO_if.h"
123 #include "drvAUDIO.h"
124
125 #include "../drv/audio/internal/drvAUDIO_internal.h"
126
127 //extern void SerPrintf(char *fmt,...);
128
129 //-------------------------------------------------------------------------------------------------
130 // Driver Compiler Options
131 //-------------------------------------------------------------------------------------------------
132
133 //-------------------------------------------------------------------------------------------------
134 // Global Variables
135 //-------------------------------------------------------------------------------------------------
136
137 //-------------------------------------------------------------------------------------------------
138 // Local Defines
139 //-------------------------------------------------------------------------------------------------
140 #define AUDIO_MODULE_RESOURCE_AMOUNT 1
141
142 //-------------------------------------------------------------------------------------------------
143 // Extern Variables
144 //-------------------------------------------------------------------------------------------------
145 extern AUDIO_SHARED_VARS2 * g_AudioVars2;
146
147 //-------------------------------------------------------------------------------------------------
148 // Local Structures
149 //-------------------------------------------------------------------------------------------------
150 enum
151 {
152 AUDIO_POOL_ID_AUDIO0,
153 } eAUDIOPoolID;
154
155 //-------------------------------------------------------------------------------------------------
156 // Local Variables
157 //-------------------------------------------------------------------------------------------------
158
159 #define PATCH_SN
160 //-------------------------------------------------------------------------------------------------
161 // Local Functions
162 //-------------------------------------------------------------------------------------------------
_AUDIOProbeResourceToUtopia(AUDIO_INSTANT_PRIVATE * _pInstantAudio)163 static MS_BOOL _AUDIOProbeResourceToUtopia(AUDIO_INSTANT_PRIVATE *_pInstantAudio)
164 {
165 //============================================================
166 // AUDIO_SYSTEM RELATIONAL API FUNCTION
167 //============================================================
168 _pInstantAudio->fpAUDIOInitialize = _MApi_AUDIO_Initialize;
169 _pInstantAudio->fpAUDIOSetPowerOn = _MApi_AUDIO_SetPowerOn;
170 #ifdef PATCH_SN
171 _pInstantAudio->fpAUDIOGetDSPMadBaseAddr = _MDrv_AUDIO_GetDspMadBaseAddr;
172 _pInstantAudio->fpAUDIOSetDSPBaseAddr = _MDrv_AUDIO_SetDspBaseAddr;
173 _pInstantAudio->fpAUDIOWriteDecMailBox = _MDrv_AUDIO_WriteDecMailBox;
174 _pInstantAudio->fpAUDIOTriggerSifPLL = _MDrv_AUDIO_TriggerSifPLL;
175 #else
176 _pInstantAudio->fpAUDIOSetDSPBaseAddr = _MApi_AUDIO_SetDspBaseAddr;
177 _pInstantAudio->fpAUDIOGetDSPMadBaseAddr = _MApi_AUDIO_GetDspMadBaseAddr;
178 _pInstantAudio->fpAUDIOWriteDecMailBox = _MApi_AUDIO_WriteDecMailBox;
179 _pInstantAudio->fpAUDIOTriggerSifPLL = _MApi_AUDIO_TriggerSifPLL;
180 #endif
181 _pInstantAudio->fpAUDIOMonitor = _MApi_Audio_Monitor;
182 _pInstantAudio->fpAUDIOSetSystemInfo = _MApi_AUDIO_SetSystemInfo;
183 //_pInstantAudio->fpAUDIOASFDataToDDR = _MApi_AUDIO_ASF_Data_To_DDR;
184 //_pInstantAudio->fpAUDIOR2DebugMSG = _MApi_AUDIO_R2_DEBUG_MSG;
185 //_pInstantAudio->fpAUDIOR2DDRLetencyMSG = _MApi_AUDIO_R2_DDR_LATENCY_MSG;
186 _pInstantAudio->fpAUDIOSetOutConnectivity = _MApi_AUDIO_SetOutConnectivity;
187 _pInstantAudio->fpAUDIOSetPathInfo = _MApi_AUDIO_SetPathInfo;
188 _pInstantAudio->fpAUDIOGetPathInfo = _MApi_AUDIO_GetPathInfo;
189 _pInstantAudio->fpAUDIOSetOutputInfo = _MApi_AUDIO_SetOutputInfo;
190 _pInstantAudio->fpAUDIOSetSourceInfo = _MApi_AUDIO_SetSourceInfo;
191 _pInstantAudio->fpAUDIOInputSwitch = _MApi_AUDIO_InputSwitch;
192 //_pInstantAudio->fpAUDIOSetInputScale = _MApi_AUDIO_SetInputScale;
193 //_pInstantAudio->fpAUDIOSetScartScale = _MApi_AUDIO_SetScartScale;
194 //_pInstantAudio->fpAUDIOAudysseyVXTSetThreshLevelTable = _MApi_AUDIO_Audyssey_VXT_Set_THRESH_LEVEL_TABLE;
195 //_pInstantAudio->fpAUDIOSPDIFSetChannelStauts = _MApi_AUDIO_SPDIF_SetChannelStatus;
196 //_pInstantAudio->fpAUDIOSPDIFGetChannelStatus = _MApi_AUDIO_SPDIF_GetChannelStatus;
197
198 _pInstantAudio->fpAUDIOSetDataCaptureSource = _MApi_AUDIO_SetDataCaptureSource;
199 _pInstantAudio->fpAUDIOSetOutputSourceInfo = _MApi_AUDIO_SetOutputSourceInfo;
200 _pInstantAudio->fpAUDIOGetOutputSourceInfo = _MApi_AUDIO_GetOutputSourceInfo;
201 _pInstantAudio->fpAUDIOReadMailBox = _MApi_AUDIO_ReadMailBox;
202 _pInstantAudio->fpAUDIOWriteMailBox = _MApi_AUDIO_WriteMailBox;
203 _pInstantAudio->fpAUDIOFwTriggerDsp = _MApi_AUDIO_FwTriggerDSP;
204 _pInstantAudio->fpAUDIOSetFwStatus = _MApi_AUDIO_SetFwStatus;
205 _pInstantAudio->fpAUDIOExitAudioSystem = _MApi_AUDIO_ExitAudioSystem;
206 _pInstantAudio->fpAUDIORebootDSP = _MApi_AUDIO_RebootDsp;
207 _pInstantAudio->fpAUDIOSendIntrupt = _MApi_AUDIO_SendIntrupt;
208 _pInstantAudio->fpAUDIOI2SSetMode = _MApi_AUDIO_I2S_SetMode;
209 _pInstantAudio->fpAUDIOWritePreInitTable = _MApi_AUDIO_WritePreInitTable;
210 _pInstantAudio->fpAUDIOEnaEarphoneLowPowerStage = _MApi_AUDIO_EnaEarphone_LowPower_Stage;
211 _pInstantAudio->fpAUDIOEnaEarphoneHighDrivingStage = _MApi_AUDIO_EnaEarphone_HighDriving_Stage;
212
213 _pInstantAudio->fpAUDIOSuspend = _MApi_AUDIO_Suspend;
214 _pInstantAudio->fpAUDIOResume = _MApi_AUDIO_Resume;
215
216 //=============================================================
217 // AUDIO_SOUND RELATIONAL API FUNCTION
218 //=============================================================
219 _pInstantAudio->fpSNDProcessEnable = _MApi_SND_ProcessEnable;
220 _pInstantAudio->fpSNDSetParam1 = _MApi_SND_SetParam1;
221 _pInstantAudio->fpSNDGetParam1 = _MApi_SND_GetParam1;
222 _pInstantAudio->fpAUDIOSoundSetParam = _MApi_AUDIO_SOUND_SetParam;
223 _pInstantAudio->fpAUDIOSetAbsoluteVolume = _MApi_AUDIO_SetAbsoluteVolume;
224 //_pInstantAudio->fpAUDIOSetPreScale = _MApi_AUDIO_SetPreScale;
225 //_pInstantAudio->fpAUDIOSetMute = _MApi_AUDIO_SetMute;
226 _pInstantAudio->fpAUDIOSourceConnect = _MApi_AUDIO_SourceConnect;
227 //_pInstantAudio->fpAUDIOSetBalance = _MApi_AUDIO_SetBalance;
228 //_pInstantAudio->fpAUDIOEnableEQ = _MApi_AUDIO_EnableEQ;
229 //_pInstantAudio->fpAUDIOEnableTone = _MApi_AUDIO_EnableTone;
230 //_pInstantAudio->fpAUDIOEnableAutoVolume = _MApi_AUDIO_EnableAutoVolume;
231 //_pInstantAudio->fpAUDIOEnableSurround = _MApi_AUDIO_EnableSurround;
232 //_pInstantAudio->fpAUDIOEnableBalance = _MApi_AUDIO_EnableBalance;
233 _pInstantAudio->fpAUDIOSetDynamicBass = _MApi_AUDIO_SetDynamicBass;
234 //_pInstantAudio->fpAUDIOSetBass = _MApi_AUDIO_SetBass;
235 //_pInstantAudio->fpAUDIOAbsoluteBass = _MApi_AUDIO_AbsoluteBass;
236 //_pInstantAudio->fpAUDIOSetTreble = _MApi_AUDIO_SetTreble;
237 _pInstantAudio->fpAUDIOAbsoluteTreble = _MApi_AUDIO_AbsoluteTreble;
238 //_pInstantAudio->fpAUDIOSetEq = _MApi_AUDIO_SetEq;
239 _pInstantAudio->fpAUDIOSetEq7band = _MApi_AUDIO_SetEq_7band;
240 _pInstantAudio->fpAUDIOSetAvcThreshold = _MApi_AUDIO_SetAvcThreshold;
241 _pInstantAudio->fpAUDIOSetAvcMode = _MApi_AUDIO_SetAvcMode;
242 _pInstantAudio->fpAUDIOSetAvcAT = _MApi_AUDIO_SetAvcAT;
243 _pInstantAudio->fpAUDIOSetAvcRT = _MApi_AUDIO_SetAvcRT;
244 _pInstantAudio->fpAUDIOSetBufferProcess = _MApi_AUDIO_SetBufferProcess;
245 _pInstantAudio->fpAUDIOSetSurroundXA = _MApi_AUDIO_SetSurroundXA;
246 _pInstantAudio->fpAUDIOSetSurroundXB = _MApi_AUDIO_SetSurroundXB;
247 _pInstantAudio->fpAUDIOSetSurroundXK = _MApi_AUDIO_SetSurroundXK;
248 _pInstantAudio->fpAUDIOSetSurroundLPFGain = _MApi_AUDIO_SetSurroundLPFGain;
249 _pInstantAudio->fpAUDIOConvertVolumeUnit = _MApi_AUDIO_ConvertVolumeUnit;
250 _pInstantAudio->fpAUDIOSetPEQCoef = _MApi_AUDIO_SetPEQCoef;
251 //_pInstantAudio->fpAUDIOEnablePEQ = _MApi_AUDIO_EnablePEQ;
252 _pInstantAudio->fpAUDIOEnableDcRemove = _MApi_AUDIO_EnableDcRemove;
253
254 //============================================================
255 // AUDIO_DTV RELATIONAL API FUNCTION
256 //============================================================
257 _pInstantAudio->fpAUDIOReleaseDecodeSystem = _MApi_AUDIO_ReleaseDecodeSystem;
258 _pInstantAudio->fpAUDIOSetDecodeSystem = _MApi_AUDIO_SetDecodeSystem;
259 _pInstantAudio->fpAUDIOGetDecodeSystem = _MApi_AUDIO_GetDecodeSystem;
260 _pInstantAudio->fpAUDIOSetDecodeCmd = _MApi_AUDIO_SetDecodeCmd;
261 _pInstantAudio->fpAUDIOOpenDecodeSystem = _MApi_AUDIO_OpenDecodeSystem;
262 _pInstantAudio->fpAUDIOSetSystem = _MApi_AUDIO_SetSystem;
263 _pInstantAudio->fpAUDIOGetDecSysSupportStatus = _MApi_AUDIO_GetDecSysSupportStatus;
264 _pInstantAudio->fpAUDIOIsMadLock = _MApi_AUDIO_IsMadLock;
265 _pInstantAudio->fpAUDIOGetDecStatus = _MApi_AUDIO_GetDecStatus;
266 _pInstantAudio->fpAUDIOGetCommand = _MApi_AUDIO_GetCommand;
267 _pInstantAudio->fpAUDIOSetCommand = _MApi_AUDIO_SetCommand;
268 _pInstantAudio->fpAUDIOGetMADLock = _MApi_AUDIO_GetMAD_LOCK;
269 _pInstantAudio->fpAUDIOSetADOutputMode = _MApi_AUDIO_SetADOutputMode;
270 _pInstantAudio->fpAUDIOSetADAbsoluteVoluem = _MApi_AUDIO_SetADAbsoluteVolume;
271 //_pInstantAudio->fpAUDIOSetMainVolumeForAD = _MApi_AUDIO_SetMainVolumeForAD;
272 _pInstantAudio->fpAUDIOADSetMute = _MApi_AUDIO_ADSetMute;
273
274 //============================================================
275 // AUDIO_PVR RELATED FUNCTIONS
276 //============================================================
277 _pInstantAudio->fpAUDIOSetEncInit = _MApi_AUDIO_SetEncInit;
278 _pInstantAudio->fpAUDIOSetEncCommand = _MApi_AUDIO_SetEncCommand;
279 _pInstantAudio->fpAUDIOGetEncodeFrameInfo = _MApi_AUDIO_GetEncodeFrameInfo;
280 _pInstantAudio->fpAUDIOGetEncodeDoneFlag = _MApi_AUDIO_GetEncodeDoneFlag;
281
282 //============================================================
283 // AUDIO_ATV RELATIONAL API FUNCTION
284 //============================================================
285 _pInstantAudio->fpAUDIOSIFSetStandard = _MApi_AUDIO_SIF_SetStandard;
286 _pInstantAudio->fpAUDIOSIFGetSoundMode = _MApi_AUDIO_SIF_GetSoundMode;
287 _pInstantAudio->fpAUDIOSIFSetSoundMode = _MApi_AUDIO_SIF_SetSoundMode;
288 _pInstantAudio->fpAUDIOSIFGetAudioStatus = _MApi_AUDIO_SIF_GetAudioStatus;
289 _pInstantAudio->fpAUDIOSIFStartAutoStandardDetection = _MApi_AUDIO_SIF_StartAutoStandardDetection;
290 _pInstantAudio->fpAUDIOSIFGetResultOfAutoStandardDetection = _MApi_AUDIO_SIF_GetResultOfAutoStandardDetection;
291 _pInstantAudio->fpAUDIOSIFConvertToBasicAudioStandard = _MApi_AUDIO_SIF_ConvertToBasicAudioStandard;
292 _pInstantAudio->fpAUDIOSIFSetThreshold = _MApi_AUDIO_SIF_SetThreshold;
293 _pInstantAudio->fpAUDIOSIFSetPrescale = _MApi_AUDIO_SIF_SetPrescale;
294 _pInstantAudio->fpAUDIOSIFIsPALType = _MApi_AUDIO_SIF_IsPALType;
295 _pInstantAudio->fpAUDIOSIFSetPALType = _MApi_AUDIO_SIF_SetPALType;
296 _pInstantAudio->fpAUDIOSIFSendCmd = _MApi_AUDIO_SIF_SendCmd;
297 _pInstantAudio->fpAUDIOSIFShift = _MApi_AUDIO_SIF_Shift;
298
299 #if 1
300 //============================================================
301 // AUDIO_FM_RADIO RELATIONAL API FUNCTION
302 //============================================================
303 _pInstantAudio->fpAUDIOFMRADIOGetSoundMode = _MApi_AUDIO_FM_RADIO_GetSoundMode;
304 _pInstantAudio->fpAUDIOFMRADIOSetSoundMode = _MApi_AUDIO_FM_RADIO_SetSoundMode;
305 _pInstantAudio->fpAUDIOFMRADIODeEmphassisOption = _MApi_AUDIO_FM_RADIO_DeEmphassisOption;
306 _pInstantAudio->fpAUDIOFMRADIOGetDcAmp = _MApi_AUDIO_FM_RADIO_GET_DC_AMP;
307 _pInstantAudio->fpAUDIOFMRADIOGetNSR = _MApi_AUDIO_FM_RADIO_GET_NSR;
308 _pInstantAudio->fpAUDIOFMRADIOReset = _MApi_AUDIO_FM_RADIO_RESET;
309 #endif
310
311 //=============================================================
312 // AUDIO_SPDIF RELATIONAL API FUNCTION
313 //=============================================================
314 _pInstantAudio->fpAUDIOSPDIFHWEN = _MApi_AUDIO_SPDIF_HWEN;
315 _pInstantAudio->fpAUDIOSPDIFSetMute = _MApi_AUDIO_SPDIF_SetMute;
316 _pInstantAudio->fpAUDIOSPDIFSetMode = _MApi_AUDIO_SPDIF_SetMode;
317 _pInstantAudio->fpAUDIOSPDIFGetMode = _MApi_AUDIO_SPDIF_GetMode;
318 _pInstantAudio->fpAUDIOSPDIFSetSCMS = _MApi_AUDIO_SPDIF_SetSCMS;
319 _pInstantAudio->fpAUDIOSPDIFGetSCMS = _MApi_AUDIO_SPDIF_GetSCMS;
320 _pInstantAudio->fpAUDIOSPDIFMonitor = _MApi_Audio_SPDIF_Monitor;
321 _pInstantAudio->fpAUDIOSPDIFChannelStatusCTRL = _MApi_AUDIO_SPDIF_ChannelStatus_CTRL;
322 _pInstantAudio->fpAUDIODigitalOut_SetChannelStatus = _MApi_AUDIO_DigitalOut_SetChannelStatus;
323 _pInstantAudio->fpAUDIODigitalOut_SetDeviceCapabilty = _MApi_AUDIO_DigitalOut_SetDeviceCapability;
324 //_pInstantAudio->fpAUDIODigitalOut_GetChannelStatus = _MApi_AUDIO_DigitalOut_GetChannelStatus;
325
326
327 //=============================================================
328 // AUDIO_HDMI RELATIONAL API FUNCTION
329 //=============================================================
330 _pInstantAudio->fpAUDIOHDMITxSetMute = _MApi_AUDIO_HDMI_Tx_SetMute;
331 _pInstantAudio->fpAUDIOHDMITxGetStatus = _MApi_AUDIO_HDMI_Tx_GetStatus;
332 _pInstantAudio->fpAUDIOHDMIMonitor = _MApi_AUDIO_HDMI_Monitor;
333 _pInstantAudio->fpAUDIOHDMIGetNonpcmFlag = _MApi_AUDIO_HDMI_GetNonpcmFlag;
334 _pInstantAudio->fpAUDIOHDMISetNonpcm = _MApi_AUDIO_HDMI_SetNonpcm;
335 _pInstantAudio->fpAUDIOHDMIRxSetNonPCM = _MApi_AUDIO_HDMI_RX_SetNonpcm;
336 _pInstantAudio->fpAUDIOHDMIRxGetNonPCM = _MApi_AUDIO_HDMI_RX_GetNonPCM;
337 _pInstantAudio->fpAUDIODTVHDMICFG = _MApi_AUDIO_DTV_HDMI_CFG;
338 _pInstantAudio->fpAUDIOHDMIGetSynthFreg = _MApi_AUDIO_HDMI_GetSynthFreq;
339 _pInstantAudio->fpAUDIOHDMISetDownSample = _MApi_AUDIO_HDMI_SetDownSample;
340 _pInstantAudio->fpAUDIOHDMITxSetMode = _MApi_AUDIO_HDMI_TX_SetMode;
341 _pInstantAudio->fpAUDIOHDMIRxGetHDMIInAUDIOStatus = _MApi_AUDIO_HDMI_RX_GetHdmiInAudioStatus;
342
343 //=============================================================
344 // AUDIO_ADVANCE_SOUND RELATIONAL API FUNCTION
345 //=============================================================
346 _pInstantAudio->fpAUDIOADVSOUNDProcessEnable = _MApi_AUDIO_ADVSOUND_ProcessEnable;
347 _pInstantAudio->fpAUDIOADVSOUNDSubProcessEnable = _MApi_AUDIO_ADVSOUND_SubProcessEnable;
348 _pInstantAudio->fpAUDIOADVSOUNDSetParam = _MApi_AUDIO_ADVSOUND_SetParam;
349 _pInstantAudio->fpAUDIOADVSNDSetParam = _MApi_AUDIO_ADVSND_SetParam;
350 //_pInstantAudio->fpAUDIOADVSOUNDGetParam = _MApi_AUDIO_ADVSOUND_GetParam;
351 //_pInstantAudio->fpAUDIOADVSOUNDSetASFParam = _MApi_AUDIO_ADVSOUND_SetASFParam;
352 //_pInstantAudio->fpAUDIOADVSOUNDGetASFParam = _MApi_AUDIO_ADVSOUND_GetASFParam;
353 _pInstantAudio->fpAUDIOADVSOUNDGetInfo = _MApi_AUDIO_ADVSOUND_GetInfo;
354 _pInstantAudio->fpAUDIODBXTV_SetMode = _MApi_DBXTV_SetMode;
355 _pInstantAudio->fpAUDIOSeInit = _MApi_AUDIO_SeInit;
356 _pInstantAudio->fpAUDIOSetAdvSndSys = _MApi_AUDIO_SetAdvSndSys;
357 //_pInstantAudio->fpAUDIOAdvSndSetSoundParam = _MApi_AUDIO_ADVSND_Set_Sound_Param;
358 _pInstantAudio->fpAUDIOSetVDS = _MApi_AUDIO_SetVDS;
359 _pInstantAudio->fpAUDIOSetVSPK = _MApi_AUDIO_SetVSPK;
360 _pInstantAudio->fpAUDIOSetSRS= _MApi_AUDIO_SetSRS;
361 _pInstantAudio->fpAUDIOSetBBE = _MApi_AUDIO_SetBBE;
362 _pInstantAudio->fpAUDIOVSPKWMod = _MApi_AUDIO_VSPK_WMod;
363 _pInstantAudio->fpAUDIOVSPKSMod = _MApi_AUDIO_VSPK_SMod;
364 _pInstantAudio->fpAUDIOSRSDC = _MApi_AUDIO_SRS_DC;
365 _pInstantAudio->fpAUDIOSRSTruBass = _MApi_AUDIO_SRS_TruBass;
366 _pInstantAudio->fpAUDIOSRSSetTsxtPara = _MApi_AUDIO_SRS_SetTsxtPara;
367 _pInstantAudio->fpAUDIOSetSRSTSHD = _MApi_AUDIO_SetSRSTSHD;
368 _pInstantAudio->fpAUDIOTSHDTruBass = _MApi_AUDIO_TSHD_TruBass;
369 _pInstantAudio->fpAUDIOTSHDDefinition = _MApi_AUDIO_TSHD_Definition;
370 _pInstantAudio->fpAUDIOTSHDClarity = _MApi_AUDIO_TSHD_Clarity;
371 _pInstantAudio->fpAUDIOSRSSetTshdPara = _MApi_AUDIO_SRS_SetTshdPara;
372 _pInstantAudio->fpAUDIOCopyParameter = _MApi_AUDIO_COPY_Parameter;
373
374 //=============================================================
375 // AUDIO_KTV RELATIONAL API FUNCTION
376 //=============================================================
377 _pInstantAudio->fpAUDIOSetKTVInfo = _MApi_AUDIO_SetKTVInfo;
378 _pInstantAudio->fpAUDIOGetKTVInfo = _MApi_AUDIO_GetKTVInfo;
379 _pInstantAudio->fpAUDIOSetMixModeVolume = _MApi_AUDIO_SetMixModeVolume;
380 _pInstantAudio->fpAUDIOSetMixModeMute = _MApi_AUDIO_SetMixModeMute;
381 _pInstantAudio->fpAUDIOPlayMenuSound = _MApi_AUDIO_PlayMenuSound;
382
383 //=============================================================
384 // AUDIO_MM RELATIONAL API FUNCTION
385 //=============================================================
386 _pInstantAudio->fpAUDIOSetCommAudioInfo = _MApi_AUDIO_SetCommAudioInfo;
387 //_pInstantAudio->fpAUDIOSetDecodeParam = _MApi_ADEC_SetDecodeParam;
388 _pInstantAudio->fpAUDIOSetMpegInfo = _MApi_AUDIO_SetMpegInfo;
389 _pInstantAudio->fpAUDIOSetAC3Info = _MApi_AUDIO_SetAC3Info;
390 _pInstantAudio->fpAUDIOSetAC3PInfo = _MApi_AUDIO_SetAC3PInfo;
391 _pInstantAudio->fpAUDIOSetAACInfo = _MApi_AUDIO_SetAACInfo;
392 _pInstantAudio->fpAUDIOSetWMAInfo = _MApi_AUDIO_SetWmaInfo;
393 _pInstantAudio->fpAUDIOSetDTSCommonCtrl = _MApi_AUDIO_SetDTSCommonCtrl;
394 _pInstantAudio->fpAUDIOGetCommAudioInfo = _MApi_AUDIO_GetCommAudioInfo;
395 _pInstantAudio->fpAUDIOGetMpegInfo = _MApi_AUDIO_GetMpegInfo;
396 _pInstantAudio->fpAUDIOGetAC3Info = _MApi_AUDIO_GetAC3Info;
397 _pInstantAudio->fpAUDIOGetAC3PInfo = _MApi_AUDIO_GetAC3PInfo;
398 _pInstantAudio->fpAUDIOGetAACInfo = _MApi_AUDIO_GetAACInfo;
399 _pInstantAudio->fpAUDIOGetWmaInfo = _MApi_AUDIO_GetWmaInfo;
400 _pInstantAudio->fpAUIDOGetDTSInfo = _MApi_AUDIO_GetDTSInfo;
401 _pInstantAudio->fpAUDIOXPCMParam = _MApi_AUDIO_XPCM_Param;
402 _pInstantAudio->fpAUDIOXPCM2Param = _MApi_AUDIO_XPCM2_Param;
403 _pInstantAudio->fpAUDIOXPCM2CheckIntStatus = _MApi_AUDIO_XPCM2_CheckIntStatus;
404 _pInstantAudio->fpAUDIORA8Param = _MApi_AUDIO_RA8_Param;
405 _pInstantAudio->fpAUDIOInit = _MApi_AUDIO_Init;
406 _pInstantAudio->fpAUDIOStartDecode = _MApi_AUDIO_StartDecode;
407 _pInstantAudio->fpAUDIOStartBrower = _MApi_AUDIO_StartBrowse;
408 _pInstantAudio->fpAUDIOStopDecode = _MApi_AUDIO_StopDecode;
409 _pInstantAudio->fpAUDIOPauseDecode = _MApi_AUDIO_PauseDecode;
410 _pInstantAudio->fpAUDIOCheckPlayDone = _MApi_AUDIO_CheckPlayDone;
411 _pInstantAudio->fpAUDIOGetResidualBufferSize = _MApi_AUDIO_GetResidualBufferSize;
412 _pInstantAudio->fpAUDIOGetPCMBufferSize = _MApi_AUDIO_GetPCMBufferSize;
413 _pInstantAudio->fpAUDIOGetPCMBufferSize2 = _MApi_AUDIO_GetPCMBufferSize2;
414 _pInstantAudio->fpAUDIOGetCurrentFrameNumber = _MApi_AUDIO_GetCurrentFrameNumber;
415 _pInstantAudio->fpAUDIOGetSampleRate = _MApi_AUDIO_GetSampleRate;
416 _pInstantAudio->fpAUDIOGetBitRate = _MApi_AUDIO_GetBitRate;
417 _pInstantAudio->fpAUDIOGetLayer = _MApi_AUDIO_GetLayer;
418 _pInstantAudio->fpAUDIOCheckInputRequest = _MApi_AUDIO_CheckInputRequest;
419 _pInstantAudio->fpAUDIOSetInput = _MApi_AUDIO_SetInput;
420 _pInstantAudio->fpAUDIOSetSampleRateIndex = _MApi_AUDIO_SetSampleRateIndex;
421 _pInstantAudio->fpAUDIOSetXPCMParam = _MApi_AUDIO_SetXPCMParam;
422 _pInstantAudio->fpAUDIOFileEndNotification = _MApi_AUDIO_FileEndNotification;
423 _pInstantAudio->fpAUDIOFileEndDataHandle = _MApi_AUDIO_FileEndDataHandle;
424 _pInstantAudio->fpAUDIOGetPlayTick = _MApi_AUDIO_GetPlayTick;
425 _pInstantAudio->fpAUDIOGetEsMEMCnt = _MApi_AUDIO_GetEsMEMCnt;
426 _pInstantAudio->fpAUDIOSetASFParm = _MApi_AUDIO_SetASFParm;
427 _pInstantAudio->fpAUDIOMMSetInput = _MApi_AUDIO_MM_SetInput;
428 _pInstantAudio->fpAUDIOMMCheckPlayDone = _MApi_AUDIO_MM_CheckPlayDone;
429 _pInstantAudio->fpAUDIOMMCheckInputRequest = _MApi_AUDIO_MM_CheckInputRequest;
430 _pInstantAudio->fpAUDIODmaReaderInit = _MApi_AUDIO_DmaReader_Init;
431 _pInstantAudio->fpAUDIODmaReaderAllInputInit = _MApi_AUDIO_DmaReader_AllInput_Init;
432 _pInstantAudio->fpAUDIODmaReaderWritePCM = _MApi_AUDIO_DmaReader_WritePCM;
433 _pInstantAudio->fpAUDIODmaWriterInit = _MApi_AUDIO_DmaWriter_Init;
434 _pInstantAudio->fpAUDIOUSBPCMEnable = _MApi_AUDIO_USBPCM_Enable;
435 _pInstantAudio->fpAUDIOUSBPCMSetFlag = _MApi_AUDIO_USBPCM_SetFlag;
436 _pInstantAudio->fpAUDIOUSBPCMGetFlag = _MApi_AUDIO_USBPCM_GetFlag;
437 _pInstantAudio->fpAUDIOUSBPCMGetMemInfo = _MApi_AUDIO_USBPCM_GetMemInfo;
438 _pInstantAudio->fpAUDIOPCMCaptureInit = _MApi_AUDIO_PCMCapture_Init;
439 _pInstantAudio->fpAUDIOPCMCaptureStart = _MApi_AUDIO_PCMCapture_Start;
440 _pInstantAudio->fpAUDIOPCMCaptureStop = _MApi_AUDIO_PCMCapture_Stop;
441 _pInstantAudio->fpAUDIOPCMCaptureRead = _MApi_AUDIO_PCMCapture_Read;
442 _pInstantAudio->fpAUDIOVoIPConfig = _MApi_AUDIO_VoIP_Config;
443 _pInstantAudio->fpAUDIOALSACheck = _MApi_AUDIO_ALSA_Check;
444 _pInstantAudio->fpAUDIOALSAEnable = _MApi_AUDIO_ALSA_Enable;
445 _pInstantAudio->fpAUDIOUNICheckDecodeDone = _MApi_AUDIO_UNI_CheckDecodeDone;
446 _pInstantAudio->fpAUDIOUNISetOutput = _MApi_AUDIO_UNI_SetOutput;
447 _pInstantAudio->fpAUDIOUNISetPCMInputWriteAddr = _MApi_AUDIO_UNI_Set_PCMInputWriteAddr;
448 _pInstantAudio->fpAUDIOUNIGetOutPCMLevel = _MApi_AUDIO_UNI_Get_OutPCMLevel;
449 _pInstantAudio->fpAUDIORingTask = _MApi_AUDIO_RingTask;
450 _pInstantAudio->fpAUDIORingDataTransfer = _MApi_AUDIO_Ring_DataTransfer;
451 _pInstantAudio->fpAUDIOMM2InitAesInfo = _MApi_AUDIO_MM2_initAesInfo;
452 _pInstantAudio->fpAUDIOMM2CheckAesInfo = _MApi_AUDIO_MM2_checkAesInfo;
453 _pInstantAudio->fpAUDIOMM2InputAesFinished = _MApi_AUDIO_MM2_inputAesFinished;
454 _pInstantAudio->fpAUDIOSetAudioParam2 = _MApi_AUDIO_SetAudioParam2;
455 _pInstantAudio->fpAUDIOGetAudioInfo2 = _MApi_AUDIO_GetAudioInfo2;
456 _pInstantAudio->fpAUDIOGetDDRInfo = _MApi_AUDIO_GetDDRInfo;
457 _pInstantAudio->fpAUDIOGetCaps = _MApi_AUDIO_GetCaps;
458 _pInstantAudio->fpAUDIOPcmOpen = _MApi_AUDIO_PCM_Open;
459 _pInstantAudio->fpAUDIOPcmClose = _MApi_AUDIO_PCM_Close;
460 _pInstantAudio->fpAUDIOPcmStart = _MApi_AUDIO_PCM_Start;
461 _pInstantAudio->fpAUDIOPcmStop = _MApi_AUDIO_PCM_Stop;
462 _pInstantAudio->fpAUDIOPcmSet = _MApi_AUDIO_PCM_Set;
463 _pInstantAudio->fpAUDIOPcmGet = _MApi_AUDIO_PCM_Get;
464 _pInstantAudio->fpAUDIOPcmRead = _MApi_AUDIO_PCM_Read;
465 _pInstantAudio->fpAUDIOPcmWrite = _MApi_AUDIO_PCM_Write;
466 _pInstantAudio->fpAUDIOPcmFlush = _MApi_AUDIO_PCM_Flush;
467 _pInstantAudio->fpAUDIOEncoderOpen = _MApi_AUDIO_ENCODER_Open;
468 _pInstantAudio->fpAUDIOEncoderClose = _MApi_AUDIO_ENCODER_Close;
469 _pInstantAudio->fpAUDIOEncoderStart = _MApi_AUDIO_ENCODER_Start;
470 _pInstantAudio->fpAUDIOEncoderStop = _MApi_AUDIO_ENCODER_Stop;
471 _pInstantAudio->fpAUDIOEncoderIoctl = _MApi_AUDIO_ENCODER_Ioctl;
472 _pInstantAudio->fpAUDIOEncoderRead = _MApi_AUDIO_ENCODER_Read;
473 _pInstantAudio->fpAUDIOEncoderFlush = _MApi_AUDIO_ENCODER_Flush;
474 //To Do
475
476 return TRUE;
477
478 }
479
480 //-------------------------------------------------------------------------------------------------
481 // Global Functions
482 //-------------------------------------------------------------------------------------------------
AUDIORegisterToUtopia(FUtopiaOpen ModuleType)483 void AUDIORegisterToUtopia(FUtopiaOpen ModuleType)
484 {
485 void* pUtopiaModule = NULL;
486 void* psResource = NULL;
487 char strResourceName[16] = {0};
488 MS_U32 u32Index = 0;
489 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "%s is invoked\n", __FUNCTION__);
490
491 UtopiaModuleCreate(MODULE_AUDIO, 8, &pUtopiaModule);
492 UtopiaModuleRegister(pUtopiaModule);
493 UtopiaModuleSetupFunctionPtr(pUtopiaModule, (FUtopiaOpen)AUDIOOpen, (FUtopiaClose)AUDIOClose, (FUtopiaIOctl)AUDIOIoctl);
494
495 #if defined(MSOS_TYPE_LINUX_KERNEL)
496 UtopiaModuleSetupSTRFunctionPtr(pUtopiaModule,(FUtopiaSTR)AUDIOStr);
497 #endif
498
499 UtopiaModuleAddResourceStart(pUtopiaModule, AUDIO_POOL_ID_AUDIO0);
500 for (u32Index = 0; u32Index < AUDIO_MODULE_RESOURCE_AMOUNT; u32Index++)
501 {
502 memset(&strResourceName, 0x00, sizeof(strResourceName));
503 sprintf((char *)&strResourceName, "AUDIO%u", (unsigned int)u32Index);
504 if (UtopiaResourceCreate((char *)&strResourceName, sizeof(AUDIO_RESOURCE_PRIVATE), &psResource) == UTOPIA_STATUS_SUCCESS)
505 {
506 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_ERROR, "%s : Success to create resource '%s' of %d resource\n", __FUNCTION__, strResourceName, AUDIO_MODULE_RESOURCE_AMOUNT);
507 }
508
509 if (UtopiaResourceRegister(pUtopiaModule, psResource, AUDIO_POOL_ID_AUDIO0) == UTOPIA_STATUS_SUCCESS)
510 {
511 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_ERROR, "%s : Success to register resource '%s' of %d resource\n", __FUNCTION__, strResourceName, AUDIO_MODULE_RESOURCE_AMOUNT);
512 }
513 }
514 UtopiaModuleAddResourceEnd(pUtopiaModule, AUDIO_POOL_ID_AUDIO0);
515
516 return;
517 }
518
AUDIOOpen(void ** ppInstance,void * pAttribute)519 MS_U32 AUDIOOpen(void **ppInstance, void *pAttribute)
520 {
521 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "%s is invoked\n", __FUNCTION__);
522
523 if(ppInstance == 0)
524 {
525 return UTOPIA_STATUS_PARAMETER_ERROR;
526 }
527
528 AUDIO_INSTANT_PRIVATE* psAudioInstPri = NULL;
529
530 UtopiaInstanceCreate(sizeof(AUDIO_INSTANT_PRIVATE), ppInstance);
531 UtopiaInstanceGetPrivate(*ppInstance, (void**)&psAudioInstPri);
532
533 if(_AUDIOProbeResourceToUtopia(psAudioInstPri) == FALSE)
534 {
535 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_ERROR, "Audio module version is not supported \n");
536 return UTOPIA_STATUS_NOT_SUPPORTED;
537 }
538
539 return UTOPIA_STATUS_SUCCESS;
540
541 }
542
AUDIOIoctl(void * pInstance,MS_U32 u32Cmd,void * pArgs)543 MS_U32 AUDIOIoctl(void *pInstance, MS_U32 u32Cmd, void *pArgs)
544 {
545 AUDIO_INSTANT_PRIVATE *psAudioInstPri = NULL;
546 AUDIO_DEC_ID eDecId = 0;
547 AU_DVB_DECCMD eDecCmd = 0;
548 En_DVB_decCmdType eDecCmdType = 0;
549 AUDIOSTANDARD_TYPE eAUDIOStand_Type = 0;
550 AUDIO_HDMI_RX_TYPE eHDMI_RX_Type = 0;
551 Audio_MP3_LAYER eMP3_Layer = 0;
552 MS_BOOL bStatus = FALSE;
553 MS_U8 u8Status = 0;
554 MS_S8 s8Status = 0;
555 MS_U16 u16Status = 0;
556 MS_S32 s32Status = 0;
557 MS_U32 u32Status = 0;
558 MS_U32 u32Ret = UTOPIA_STATUS_SUCCESS;
559 MS_U32 *pu32Param = NULL;
560 MS_S32 *ps32Param = NULL;
561 long long ulong = 0;
562
563 PAUDIO_ST_RX_HDMI_AUDIO_STATUS pRxHdmiSts = NULL;
564 PAUDIO_ST_SOUND_SETPARAM pSoundSetParam = NULL;
565 PAUDIO_ST_GET_DECODESYSTEM pGetDecodeSystem = NULL;
566 PAUDIO_ST_OPEN_DECODESYSTEM pOpenDecodeSystem = NULL;
567 PAUDIO_ST_SET_DECODESYSTEM pSetDecodeSystem = NULL;
568 PAUDIO_ST_RELEASE_DECODESYSTEM pReleaseDecodeSystem = NULL;
569 PAUDIO_ST_SIF_GET_AUDIO_STATUS pSifGetAudioStatus = NULL;
570 PAUDIO_ST_DIGITALOUT_SETCHANNELSTATUS pDigitalOut_SetChannelStatus = NULL;
571 PAUDIO_ST_DIGITALOUT_GETCHANNELSTATUS pDigitalOut_GetChannelStatus = NULL;
572 PAUDIO_ST_DIGITALOUT_SETDEVICECAP pDigitalOut_SetDeviceCap = NULL;
573 PAUDIO_HDMI_TX_GETSTATUS pHDMITx_GetStatus = NULL;
574 PAUDIO_ST_COPY_PARAMETER pCopyParameter = NULL;
575 PAUDIO_ST_RA8_Param pRA8Param = NULL;
576 PAUDIO_ST_CHECK_INPUT_REQ pCheckInputRequest = NULL;
577 PAUDIO_ST_MM_CHECK_INPUT_REQ pMMCheckInputRequest = NULL;
578 PAUDIO_ST_DMAREADER_WRITEPCM pDmaReaderWritePCM = NULL;
579 PAUDIO_ST_PCMCAPTURE_INIT pPCMCapture_Init = NULL;
580 PAUDIO_ST_PCMCAPTURE_READ pPCMCapture_Read = NULL;
581 PAUDIO_ST_UNI_CHECK_DECODEDONE pUNICheck_DecodeDone = NULL;
582 PAUDIO_ST_RING_DATA_TRANS pRing_Data_Trans = NULL;
583 PAUDIO_ST_MM2_CHECKAESINFO pMM2_CheckAesInfo = NULL;
584 PAUDIO_ST_MM2_INPUTAES_FINISH pMM2_InputAes_Finish = NULL;
585 PAUDIO_ST_GETAUDIOINFO2 pGetAudioInfo2 = NULL;
586 PAUDIO_ST_OUTPUT_SOURCE pOutputSourceInfo = NULL;
587 PAUDIO_ST_SET_AD pSetAD = NULL;
588 PAUDIO_ST_DECODER_COMMAND pDecoderCommand = NULL;
589 PAUDIO_ST_SPDIF_OP pSpdif_op = NULL;
590 PAUDIO_ST_SPDIF_SCMS pSpdif_scms = NULL;
591 PAUDIO_ST_HDMI_NONPCM_OP pHDMI_Nonpcm_op = NULL;
592 PAUDIO_ST_KTV_OP pKTV_OP = NULL;
593 PAUDIO_ST_SPDIF_CHANNELSTATUS pSPDIF_ChannelStatus = NULL;
594 PAUDIO_ST_GETCAPS pGetCaps = NULL;
595 PAUDIO_ST_GET_DSPBASEADDR pGet_DspBaseAddr = NULL;
596 PAUDIO_ST_SET_DSPBASEADDR pSet_DspBaseAddr = NULL;
597 PAUDIO_ST_WRITE_DECMAILBOX pWrite_DecMailBox = NULL;
598 PAUDIO_ST_INPUTSWITCH pInputSwitch = NULL;
599 PAUDIO_ST_SET_DATACAPTURESOURCE pSet_DataCaptureResource = NULL;
600 PAUDIO_ST_READ_MAILBOX pRead_MailBox = NULL;
601 PAUDIO_ST_WRITE_MAILBOX pWrite_MailBox = NULL;
602 PAUDIO_ST_SEND_INTERRUPT pSend_Interrupt = NULL;
603 PAUDIO_ST_I2S_SETMODE pI2s_SetMode = NULL;
604 PAUDIO_ST_SND_PROCESSENABLE pSnd_ProcessEnable = NULL;
605 PAUDIO_ST_SND_SETPARAM1 pSnd_SetParam1 = NULL;
606 PAUDIO_ST_SND_GETPARAM1 pSnd_GetParam1 = NULL;
607 PAUDIO_ST_SETEQ_7BAND pSet_7band = NULL;
608 PAUDIO_ST_SET_ABSOLUTEVOLUME pSet_AbsoluteVolume = NULL;
609 PAUDIO_ST_SOURCECONNECT pSourceConnect = NULL;
610 PAUDIO_ST_CONVERT_VOLUMEUNIT pConvertVolumeUnit = NULL;
611 PAUDIO_ST_ENABLE_DCREMOVE pEnableDcRemove = NULL;
612 PAUDIO_ST_SET_DECCMD pSetDecCmd = NULL;
613 PAUDIO_ST_SET_SYSTEM pSetSystem = NULL;
614 PAUDIO_ST_GET_DECSYSSUPPORTSTATUS pGetDecSysSupportStatus = NULL;
615 PAUDIO_ST_SET_ENCINIT pSetEncInit = NULL;
616 PAUDIO_ST_SIF_SET_SOUNDMODE pSifSetSoundMode = NULL;
617 PAUDIO_ST_SIF_CONVERTTOBASICAUDIOSTANDARD pSifConvertToBasicAudioStandard = NULL;
618 PAUDIO_ST_SIF_SETPRESCALE pSifSetPrescale = NULL;
619 PAUDIO_ST_SIF_ISPALTYPE pSifIsPalType = NULL;
620 PAUDIO_ST_SIF_SENDCMD pSifSendCmd = NULL;
621 PAUDIO_ST_SPDIF_CHANNELSTATUS_CTRL pSpdifChannelStatusCtrl = NULL;
622 PAUDIO_ST_ADVSOUND_PROCESSENABLE pAdvSoundProcessEnable = NULL;
623 PAUDIO_ST_ADVSOUND_SUBPROCESSENABLE pAdvSoundSubProcessEnable = NULL;
624 PAUDIO_ST_ADVSOUND_SETPARAM pAdvSoundSetParam = NULL;
625 PAUDIO_ST_ADVSND_SETPARAM pAdvSndSetParam = NULL;
626 PAUDIO_ST_SETADVSNDSYS pSetAdvSndSys = NULL;
627 PAUDIO_ST_SETBBE pSetBBE = NULL;
628 PAUDIO_ST_SRS_SETTSXTPARA pSrsSetTsxtPara = NULL;
629 PAUDIO_ST_SRS_SETTSHDPARA pSrsSetTshdPara = NULL;
630 PAUDIO_ST_SRS_ADVSOUND_GETINFO pAdvSoundGetInfo = NULL;
631 PAUDIO_ST_DBXTV_SETMODE pDbxTvSetMode = NULL;
632 PAUDIO_ST_SET_COMMAUDIOINFO pSetCommAudioInfo = NULL;
633 PAUDIO_ST_SET_MPEGINFO pSetMpegInfo = NULL;
634 PAUDIO_ST_SET_AC3INFO pSetAc3Info = NULL;
635 PAUDIO_ST_SET_AC3PINFO pSetAc3pInfo = NULL;
636 PAUDIO_ST_SET_AACINFO pSetAacInfo = NULL;
637 PAUDIO_ST_SET_WMAINFO pSetWmaInfo = NULL;
638 PAUDIO_ST_SET_DTSCOMMONCTRL pSetDtsCommonCtrl = NULL;
639 PAUDIO_ST_MM2_INITAESINFO pMm2InitAesInfo = NULL;
640 PAUDIO_ST_SET_XPCMPARAM pSetXpcmParam = NULL;
641 PAUDIO_ST_GET_COMMAUDIOINFO pGetCommAudioInfo = NULL;
642 PAUDIO_ST_GET_MPEGINFO pGetMpegInfo = NULL;
643 PAUDIO_ST_GET_AC3INFO pGetAc3Info = NULL;
644 PAUDIO_ST_GET_AC3PINFO pGetAc3pInfo = NULL;
645 PAUDIO_ST_GET_AACINFO pGetAacInfo = NULL;
646 PAUDIO_ST_GET_WMAINFO pGetWmaInfo = NULL;
647 PAUDIO_ST_GET_DTSINFO pGetDtsInfo = NULL;
648 PAUDIO_ST_XPCMPARAM pXpcmParam = NULL;
649 PAUDIO_ST_GET_PCMBUFFERSIZE pGetPcmBufferSize = NULL;
650 PAUDIO_ST_GET_PCMBUFFERSIZE2 pGetPcmBufferSize2 = NULL;
651 PAUDIO_ST_SET_ASFPARM pSetAsfParm = NULL;
652 PAUDIO_ST_MM_SETINPUT pMmSetInput = NULL;
653 PAUDIO_ST_MM_CHECKPLAYDONE pMmCheckPlayDone = NULL;
654 PAUDIO_ST_VOIP_CONFIG pVoipConfig = NULL;
655 PAUDIO_ST_ALSA_ENABLE pAlsaEnable = NULL;
656 PAUDIO_ST_SET_AUDIOPARAM2 pSetAudioParam2 = NULL;
657 PAUDIO_ST_GET_DDRINFO pGetDdrInfo = NULL;
658 PAUDIO_ST_ADVSND_SETASFPARAM pAdvSndSetAsfParam = NULL;
659 PAUDIO_ST_PCM_OPEN pPcmOpen = NULL;
660 PAUDIO_ST_PCM_CLOSE pPcmClose = NULL;
661 PAUDIO_ST_PCM_START pPcmStart = NULL;
662 PAUDIO_ST_PCM_STOP pPcmStop = NULL;
663 PAUDIO_ST_PCM_SET pPcmSet = NULL;
664 PAUDIO_ST_PCM_GET pPcmGet = NULL;
665 PAUDIO_ST_PCM_READ pPcmRead = NULL;
666 PAUDIO_ST_PCM_WRITE pPcmWrite = NULL;
667 PAUDIO_ST_PCM_FLUSH pPcmFlush = NULL;
668 PAUDIO_ST_ENCODER_OPEN pEncoderOpen = NULL;
669 PAUDIO_ST_ENCODER_CLOSE pEncoderClose = NULL;
670 PAUDIO_ST_ENCODER_START pEncoderStart = NULL;
671 PAUDIO_ST_ENCODER_STOP pEncoderStop = NULL;
672 PAUDIO_ST_ENCODER_IOCTL pEncoderIoctl = NULL;
673 PAUDIO_ST_ENCODER_READ pEncoderRead = NULL;
674 PAUDIO_ST_ENCODER_FLUSH pEncoderFlush = NULL;
675
676 if (pInstance == NULL)
677 {
678 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_ERROR, "pInstance is NULL!!! \n");
679 return UTOPIA_STATUS_FAIL;
680 }
681
682 if (UtopiaInstanceGetPrivate(pInstance, (void*)&psAudioInstPri) != 0)
683 {
684 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_ERROR, "UtopiaInstanceGetPrivate fail\n");
685 return UTOPIA_STATUS_FAIL;
686 }
687
688 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "[Audio][mapiAudio.c] cmd %d switch\n", (unsigned int)u32Cmd);
689
690 switch (u32Cmd)
691 {
692 case MApi_CMD_AUDIO_Initialize:
693 {
694 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Init\n");
695 psAudioInstPri->fpAUDIOInitialize();
696 break;
697 }
698
699 case MApi_CMD_AUDIO_SetPowerOn:
700 {
701 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetPowerOn\n");
702 pu32Param = (MS_U32*)pArgs;
703 psAudioInstPri->fpAUDIOSetPowerOn((MS_BOOL)pu32Param[0]);
704 break;
705 }
706
707 case MApi_CMD_AUDIO_GetDSPBaseAddr:
708 {
709 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetDSPBaseAddr\n");
710 pGet_DspBaseAddr = (PAUDIO_ST_GET_DSPBASEADDR)pArgs;
711 u32Status= psAudioInstPri->fpAUDIOGetDSPMadBaseAddr(pGet_DspBaseAddr->u8Index);
712 pGet_DspBaseAddr->u32Addr = u32Status;
713 break;
714 }
715
716 case MApi_CMD_AUDIO_SetDSPBaseAddr:
717 {
718 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetDSPBaseAddr\n");
719 pSet_DspBaseAddr = (PAUDIO_ST_SET_DSPBASEADDR)pArgs;
720 psAudioInstPri->fpAUDIOSetDSPBaseAddr(pSet_DspBaseAddr->u8Index, pSet_DspBaseAddr->u32Bin_Base_Address, pSet_DspBaseAddr->u32Mad_Base_Buffer_Adr);
721 break;
722 }
723
724 case MApi_CMD_AUDIO_WriteDecMailBox:
725 {
726 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_WriteDecMailBox\n");
727 pWrite_DecMailBox = (PAUDIO_ST_WRITE_DECMAILBOX)pArgs;
728 psAudioInstPri->fpAUDIOWriteDecMailBox(pWrite_DecMailBox->u8ParamNum, pWrite_DecMailBox->u16Data);
729 break;
730 }
731
732 case MApi_CMD_AUDIO_TriggerSIFPLL:
733 {
734 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_TriggerSIFPLL\n");
735 psAudioInstPri->fpAUDIOTriggerSifPLL();
736 break;
737 }
738
739 case MApi_CMD_AUDIO_Monitor:
740 {
741 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Monitor\n");
742 psAudioInstPri->fpAUDIOMonitor();
743 break;
744 }
745
746 case MApi_CMD_AUDIO_SetSystemInfo:
747 {
748 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSystemInfo\n");
749 psAudioInstPri->fpAUDIOSetSystemInfo((AUDIO_INIT_INFO*)pArgs);
750 break;
751 }
752
753 case MApi_CMD_AUDIO_ASF_Data_To_DDR:
754 {
755 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_AUDIO_ASF_Data_To_DDR\n");
756 pu32Param = (MS_U32*)pArgs;
757 psAudioInstPri->fpAUDIOASFDataToDDR((MS_BOOL)pu32Param[0]);
758 break;
759 }
760
761 case MApi_CMD_AUDIO_R2_DEBUG_MSG:
762 {
763 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_AUDIO_R2_Debug_MSG\n");
764 pu32Param = (MS_U32*)pArgs;
765 psAudioInstPri->fpAUDIOR2DebugMSG((MS_BOOL)pu32Param[0]);
766 break;
767 }
768
769 case MApi_CMD_AUDIO_R2_DDR_LETENCY_MSG:
770 {
771 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_R2_DDR_LETENCY_MSG\n");
772 pu32Param = (MS_U32*)pArgs;
773 psAudioInstPri->fpAUDIOR2DDRLetencyMSG((MS_BOOL)pu32Param[0]);
774 break;
775 }
776
777 case MApi_CMD_AUDIO_SetOutConnectivity:
778 {
779 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetOutConnectivity\n");
780 psAudioInstPri->fpAUDIOSetOutConnectivity();
781 break;
782 }
783
784 case MApi_CMD_AUDIO_SetPathInfo:
785 {
786 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetPathInfo\n");
787 psAudioInstPri->fpAUDIOSetPathInfo((AUDIO_PATH_INFO*)pArgs);
788 break;
789 }
790
791 case MApi_CMD_AUDIO_GetPathInfo:
792 {
793 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetPathInfo\n");
794 psAudioInstPri->fpAUDIOGetPathInfo((AUDIO_PATH_INFO*)pArgs);
795 break;
796 }
797
798 case MApi_CMD_AUDIO_SetOutputInfo:
799 {
800 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetOutputInfo\n");
801 psAudioInstPri->fpAUDIOSetOutputInfo((AUDIO_OUT_INFO*)pArgs);
802 break;
803 }
804
805 case MApi_CMD_AUDIO_SetSourceInfo:
806 {
807 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSourceInfo\n");
808 pu32Param = (MS_U32*)pArgs;
809 psAudioInstPri->fpAUDIOSetSourceInfo((MS_BOOL)pu32Param[0]);
810 break;
811 }
812
813 case MApi_CMD_AUDIO_InputSwitch:
814 {
815 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_InputSwitch\n");
816 pInputSwitch = (PAUDIO_ST_INPUTSWITCH)pArgs;
817 psAudioInstPri->fpAUDIOInputSwitch(pInputSwitch->eSource, pInputSwitch->eGroup);
818 break;
819 }
820
821 case MApi_CMD_AUDIO_Set_Input_Scale:
822 {
823 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Set_Input_Scale\n");
824 pu32Param = (MS_U32*)pArgs;
825 psAudioInstPri->fpAUDIOSetInputScale((MS_BOOL)pu32Param[0]);
826 break;
827 }
828
829 case MApi_CMD_AUDIO_SPDIF_CHANNELSTATUS:
830 {
831 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SPDIF_CHANNELSTATUS\n");
832 pSPDIF_ChannelStatus = (PAUDIO_ST_SPDIF_CHANNELSTATUS)pArgs;
833 if (pSPDIF_ChannelStatus->bSet == TRUE)
834 {
835 psAudioInstPri->fpAUDIOSPDIFSetChannelStauts(pSPDIF_ChannelStatus->eType, pSPDIF_ChannelStatus->eValue);
836 }
837 else
838 {
839 u16Status = psAudioInstPri->fpAUDIOSPDIFGetChannelStatus(pSPDIF_ChannelStatus->eType);
840 pSPDIF_ChannelStatus->u32Ret = (MS_U32)u16Status;
841 }
842 break;
843 }
844
845 case MApi_CMD_AUDIO_Set_Scart_Scale:
846 {
847 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Set_Scart_Scale\n");
848 pu32Param = (MS_U32*)pArgs;
849 psAudioInstPri->fpAUDIOSetScartScale((MS_BOOL)pu32Param[0]);
850 break;
851 }
852
853 case MApi_CMD_AUDIO_SetDataCaptureSource:
854 {
855 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetDataCaptureSource\n");
856 pSet_DataCaptureResource = (PAUDIO_ST_SET_DATACAPTURESOURCE)pArgs;
857 bStatus = psAudioInstPri->fpAUDIOSetDataCaptureSource(pSet_DataCaptureResource->eID, pSet_DataCaptureResource->eSource);
858 pSet_DataCaptureResource->bRet = bStatus;
859 break;
860 }
861
862 case MApi_CMD_AUDIO_OutputSourceInfo:
863 {
864 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_OutputSourceInfo\n");
865 pOutputSourceInfo = (PAUDIO_ST_OUTPUT_SOURCE)pArgs;
866 if (pOutputSourceInfo->bSet == TRUE)
867 {
868 psAudioInstPri->fpAUDIOSetOutputSourceInfo((OUTPUT_SOURCE_INFO *)pOutputSourceInfo->stOutputSourceInfo);
869 }
870 else
871 {
872 psAudioInstPri->fpAUDIOGetOutputSourceInfo((OUTPUT_SOURCE_INFO *)pOutputSourceInfo->stOutputSourceInfo);
873 }
874 break;
875 }
876
877 case MApi_CMD_AUDIO_ReadMailBox:
878 {
879 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ReadMailBox\n");
880 pRead_MailBox = (PAUDIO_ST_READ_MAILBOX)pArgs;
881 u16Status = psAudioInstPri->fpAUDIOReadMailBox(pRead_MailBox->bDspType, pRead_MailBox->u8ParamNum);
882 pRead_MailBox->u16Ret = u16Status;
883 break;
884 }
885
886 case MApi_CMD_AUDIO_WriteMailBox:
887 {
888 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_WriteMailBox\n");
889 pWrite_MailBox = (PAUDIO_ST_WRITE_MAILBOX)pArgs;
890 psAudioInstPri->fpAUDIOWriteMailBox(pWrite_MailBox->bDspType, pWrite_MailBox->u8ParamNum, pWrite_MailBox->u16Data);
891 break;
892 }
893
894 case MApi_CMD_AUDIO_FwTriggerDSP:
895 {
896 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_FwTriggerDSP\n");
897 pu32Param = (MS_U32*)pArgs;
898 psAudioInstPri->fpAUDIOFwTriggerDsp((MS_U16)pu32Param[0]);
899 break;
900 }
901
902 case MApi_CMD_AUDIO_SetFwStatus:
903 {
904 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetFwStatus\n");
905 pu32Param = (MS_U32*)pArgs;
906 psAudioInstPri->fpAUDIOSetFwStatus((MS_BOOL)pu32Param[0]);
907 break;
908 }
909
910 case MApi_CMD_AUDIO_ExitAudioSystem:
911 {
912 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ExitAudioSystem\n");
913 psAudioInstPri->fpAUDIOExitAudioSystem();
914 break;
915 }
916
917 case MApi_CMD_AUDIO_RebootDSP:
918 {
919 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_RebootDSP\n");
920 pu32Param = (MS_U32*)pArgs;
921 psAudioInstPri->fpAUDIORebootDSP((MS_BOOL)pu32Param[0]);
922 break;
923 }
924
925 case MApi_CMD_AUDIO_SendIntrupt:
926 {
927 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SendIntrupt\n");
928 pSend_Interrupt = (PAUDIO_ST_SEND_INTERRUPT)pArgs;
929 psAudioInstPri->fpAUDIOSendIntrupt(pSend_Interrupt->bDspType, pSend_Interrupt->u8Cmd);
930 break;
931 }
932
933 case MApi_CMD_AUDIO_I2S_SetMode:
934 {
935 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_I2S_SetMode\n");
936 pI2s_SetMode = (PAUDIO_ST_I2S_SETMODE)pArgs;
937 psAudioInstPri->fpAUDIOI2SSetMode(pI2s_SetMode->eMode, pI2s_SetMode->eVal);
938 break;
939 }
940
941 case MApi_CMD_AUDIO_WritePreInitTable:
942 {
943 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_WritePreInitTable\n");
944 psAudioInstPri->fpAUDIOWritePreInitTable();
945 break;
946 }
947
948 case MApi_CMD_AUDIO_EnaEarphone_LowPower_Stage:
949 {
950 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EnaEarphone_LowPower_Stage\n");
951 psAudioInstPri->fpAUDIOEnaEarphoneLowPowerStage();
952 break;
953 }
954
955 case MApi_CMD_AUDIO_EnaEarphone_HighDriving_Stage:
956 {
957 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EnaEarphone_HighDriving_Stage\n");
958 psAudioInstPri->fpAUDIOEnaEarphoneHighDrivingStage();
959 break;
960 }
961
962 case MApi_CMD_AUDIO_Suspend:
963 {
964 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Suspend\n");
965 pu32Param = (MS_U32*)pArgs;
966 bStatus = psAudioInstPri->fpAUDIOSuspend();
967 *((MS_BOOL*)&(pu32Param[0])) = bStatus;
968 break;
969 }
970
971 case MApi_CMD_AUDIO_Resume:
972 {
973 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Resume\n");
974 pu32Param = (MS_U32*)pArgs;
975 bStatus = psAudioInstPri->fpAUDIOResume();
976 *((MS_BOOL*)&(pu32Param[0])) = bStatus;
977 break;
978 }
979
980 case MApi_CMD_SND_ProcessEnable:
981 {
982 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_SND_ProcessEnable\n");
983 pSnd_ProcessEnable = (PAUDIO_ST_SND_PROCESSENABLE)pArgs;
984 bStatus = psAudioInstPri->fpSNDProcessEnable(pSnd_ProcessEnable->eType, pSnd_ProcessEnable->bEnable);
985 pSnd_ProcessEnable->bRet = bStatus;
986 break;
987 }
988
989 case MApi_CMD_SND_SetParam1:
990 {
991 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_SND_SetParam1\n");
992 pSnd_SetParam1 = (PAUDIO_ST_SND_SETPARAM1)pArgs;
993 bStatus = psAudioInstPri->fpSNDSetParam1(pSnd_SetParam1->eType, pSnd_SetParam1->u16Param1, pSnd_SetParam1->u16Param2);
994 pSnd_SetParam1->bRet = bStatus;
995 break;
996 }
997
998 case MApi_CMD_SND_GetParam1:
999 {
1000 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_SND_GetParam1\n");
1001 pSnd_GetParam1 = (PAUDIO_ST_SND_GETPARAM1)pArgs;
1002 u16Status = psAudioInstPri->fpSNDGetParam1(pSnd_GetParam1->eType, pSnd_GetParam1->u16Param1);
1003 pSnd_GetParam1->u16Ret = u16Status;
1004 break;
1005 }
1006
1007 case MApi_CMD_AUDIO_Sound_SetParam:
1008 {
1009 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Sound_SetParam\n");
1010 pSoundSetParam = (PAUDIO_ST_SOUND_SETPARAM)pArgs;
1011 bStatus = psAudioInstPri->fpAUDIOSoundSetParam((Sound_SET_Type)pSoundSetParam->eType, (MS_U32*)pSoundSetParam->pParam);
1012 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "[Type 0x%x] [0]: 0x%x [1]: 0x%x, [2]:0x%x, [3]:0x%x\n",(int)pSoundSetParam->eType, (int)*(pSoundSetParam->pParam), (int)*(pSoundSetParam->pParam+1), (int)*(pSoundSetParam->pParam+2), (int)*(pSoundSetParam->pParam+3));
1013 pSoundSetParam->bStatus = bStatus;
1014 break;
1015 }
1016
1017 case MApi_CMD_AUDIO_SetAbsoluteVolume:
1018 {
1019 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAbsoluteVolume\n");
1020 pSet_AbsoluteVolume = (PAUDIO_ST_SET_ABSOLUTEVOLUME)pArgs;
1021 psAudioInstPri->fpAUDIOSetAbsoluteVolume(pSet_AbsoluteVolume->u8Path, pSet_AbsoluteVolume->u8Vol1, pSet_AbsoluteVolume->u8Vol2);
1022 break;
1023 }
1024
1025 case MApi_CMD_AUDIO_SourceConnect:
1026 {
1027 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SourceConnect\n");
1028 pSourceConnect = (PAUDIO_ST_SOURCECONNECT)pArgs;
1029 psAudioInstPri->fpAUDIOSourceConnect(pSourceConnect->eConnectSourceType, pSourceConnect->bConnect);
1030 break;
1031 }
1032
1033 case MApi_CMD_AUDIO_SetDynamicBass:
1034 {
1035 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetDynamicBass\n");
1036 pu32Param = (MS_U32*)pArgs;
1037 psAudioInstPri->fpAUDIOSetDynamicBass((MS_U8)pu32Param[0]);
1038 break;
1039 }
1040
1041 case MApi_CMD_AUDIO_AbsoluteTreble:
1042 {
1043 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_AbsoluteTreble\n");
1044 pu32Param = (MS_U32*)pArgs;
1045 psAudioInstPri->fpAUDIOAbsoluteTreble((MS_U8)pu32Param[0]);
1046 break;
1047 }
1048
1049 case MApi_CMD_AUDIO_SetEq_7band:
1050 {
1051 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetEq_7band\n");
1052 pSet_7band = (PAUDIO_ST_SETEQ_7BAND)pArgs;
1053 psAudioInstPri->fpAUDIOSetEq7band(pSet_7band->u8Band, pSet_7band->u8Level);
1054 break;
1055 }
1056
1057 case MApi_CMD_AUDIO_SetAvcThreshold:
1058 {
1059 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAvcThreshold\n");
1060 pu32Param = (MS_U32*)pArgs;
1061 psAudioInstPri->fpAUDIOSetAvcThreshold((MS_U8)pu32Param[0]);
1062 break;
1063 }
1064
1065 case MApi_CMD_AUDIO_SetAvcMode:
1066 {
1067 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAvcMode\n");
1068 pu32Param = (MS_U32*)pArgs;
1069 psAudioInstPri->fpAUDIOSetAvcMode((MS_U8)pu32Param[0]);
1070 break;
1071 }
1072
1073 case MApi_CMD_AUDIO_SetAvcAT:
1074 {
1075 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAvcAT\n");
1076 pu32Param = (MS_U32*)pArgs;
1077 psAudioInstPri->fpAUDIOSetAvcAT((MS_U8)pu32Param[0]);
1078 break;
1079 }
1080
1081 case MApi_CMD_AUDIO_SetAvcRT:
1082 {
1083 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAvcRT\n");
1084 pu32Param = (MS_U32*)pArgs;
1085 psAudioInstPri->fpAUDIOSetAvcRT((MS_U8)pu32Param[0]);
1086 break;
1087 }
1088
1089 case MApi_CMD_AUDIO_SetBufferProcess:
1090 {
1091 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetBufferProcess\n");
1092 pu32Param = (MS_U32*)pArgs;
1093 psAudioInstPri->fpAUDIOSetBufferProcess((MS_U8)pu32Param[0]);
1094 break;
1095 }
1096
1097 case MApi_CMD_AUDIO_SetSurroundXA:
1098 {
1099 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSurroundXA\n");
1100 pu32Param = (MS_U32*)pArgs;
1101 psAudioInstPri->fpAUDIOSetSurroundXA((MS_U8)pu32Param[0]);
1102 break;
1103 }
1104
1105 case MApi_CMD_AUDIO_SetSurroundXB:
1106 {
1107 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSurroundXB\n");
1108 pu32Param = (MS_U32*)pArgs;
1109 psAudioInstPri->fpAUDIOSetSurroundXB((MS_U8)pu32Param[0]);
1110 break;
1111 }
1112
1113 case MApi_CMD_AUDIO_SetSurroundXK:
1114 {
1115 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSurroundXK\n");
1116 pu32Param = (MS_U32*)pArgs;
1117 psAudioInstPri->fpAUDIOSetSurroundXK((MS_U8)pu32Param[0]);
1118 break;
1119 }
1120
1121 case MApi_CMD_AUDIO_SetSurroundLPFGain:
1122 {
1123 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSurrounLPFGain\n");
1124 pu32Param = (MS_U32*)pArgs;
1125 psAudioInstPri->fpAUDIOSetSurroundLPFGain((MS_U8)pu32Param[0]);
1126 break;
1127 }
1128
1129 case MApi_CMD_AUDIO_ConvertVolumeUnit:
1130 {
1131 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ConvertVolumeUnit\n");
1132 pConvertVolumeUnit = (PAUDIO_ST_CONVERT_VOLUMEUNIT)pArgs;
1133 u8Status= psAudioInstPri->fpAUDIOConvertVolumeUnit(pConvertVolumeUnit->u8Uivolume);
1134 pConvertVolumeUnit->u8Ret = u8Status;
1135 break;
1136 }
1137
1138 case MApi_CMD_AUDIO_SetPEQCoef:
1139 {
1140 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetPEQCoef\n");
1141 psAudioInstPri->fpAUDIOSetPEQCoef((AUDIO_PEQ_COEF*)pArgs);
1142 break;
1143 }
1144
1145 case MApi_CMD_AUDIO_EnableDcRemove:
1146 {
1147 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EnableDcRemove\n");
1148 pEnableDcRemove = (PAUDIO_ST_ENABLE_DCREMOVE)pArgs;
1149 bStatus = psAudioInstPri->fpAUDIOEnableDcRemove(pEnableDcRemove->bEndcremove);
1150 pEnableDcRemove->bRet = bStatus;
1151 break;
1152 }
1153
1154 case MApi_CMD_AUDIO_ReleaseDecodeSystem:
1155 {
1156 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ReleaseDecodeSystem\n");
1157 pReleaseDecodeSystem = (PAUDIO_ST_RELEASE_DECODESYSTEM)pArgs;
1158 bStatus= psAudioInstPri->fpAUDIOReleaseDecodeSystem(pReleaseDecodeSystem->DecId);
1159 pReleaseDecodeSystem->bStatus = bStatus;
1160 break;
1161 }
1162
1163 case MApi_CMD_AUDIO_SetDecodeSystem:
1164 {
1165 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetDecodeSystem\n");
1166 pSetDecodeSystem = (PAUDIO_ST_SET_DECODESYSTEM)pArgs;
1167 bStatus = psAudioInstPri->fpAUDIOSetDecodeSystem(pSetDecodeSystem->DecId, pSetDecodeSystem->p_AudioDecStatus);
1168 pSetDecodeSystem->bStatus = bStatus;
1169 break;
1170 }
1171
1172 case MApi_CMD_AUDIO_GetDecodeSystem:
1173 {
1174 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetDecodeSystem\n");
1175 pGetDecodeSystem = (PAUDIO_ST_GET_DECODESYSTEM)pArgs;
1176 bStatus = psAudioInstPri->fpAUDIOGetDecodeSystem(pGetDecodeSystem->DecId, pGetDecodeSystem->p_AudioDecStatus);
1177 pGetDecodeSystem->bStatus = bStatus;
1178 break;
1179 }
1180
1181 case MApi_CMD_AUDIO_SetDecodeCmd:
1182 {
1183 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetDecodeCmd\n");
1184 pSetDecCmd = (PAUDIO_ST_SET_DECCMD)pArgs;
1185 bStatus= psAudioInstPri->fpAUDIOSetDecodeCmd(pSetDecCmd->eDecId, pSetDecCmd->eDecComamnd);
1186 pSetDecCmd->bRet = bStatus;
1187 break;
1188 }
1189
1190 case MApi_CMD_AUDIO_OpenDecodeSystem:
1191 {
1192 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_OpenDecodeSystem\n");
1193 pOpenDecodeSystem = (PAUDIO_ST_OPEN_DECODESYSTEM)pArgs;
1194 eDecId = psAudioInstPri->fpAUDIOOpenDecodeSystem(pOpenDecodeSystem->p_AudioDecStatus);
1195 pOpenDecodeSystem->DecId = eDecId;
1196 break;
1197 }
1198
1199 case MApi_CMD_AUDIO_SetSystem:
1200 {
1201 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSystem\n");
1202 pSetSystem = (PAUDIO_ST_SET_SYSTEM)pArgs;
1203 bStatus= psAudioInstPri->fpAUDIOSetSystem(pSetSystem->eDecSystem);
1204 pSetSystem->bRet = bStatus;
1205 break;
1206 }
1207
1208 case MApi_CMD_AUDIO_GetDecSysSupportStatus:
1209 {
1210 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetDecSysSupportStatus\n");
1211 pGetDecSysSupportStatus = (PAUDIO_ST_GET_DECSYSSUPPORTSTATUS)pArgs;
1212 bStatus = psAudioInstPri->fpAUDIOGetDecSysSupportStatus(pGetDecSysSupportStatus->eDecSystem);
1213 pGetDecSysSupportStatus->bRet = bStatus;
1214 break;
1215 }
1216
1217 case MApi_CMD_AUDIO_IsMadLock:
1218 {
1219 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_IsMadLock\n");
1220 pu32Param = (MS_U32*)pArgs;
1221 bStatus = psAudioInstPri->fpAUDIOIsMadLock();
1222 *((MS_BOOL*)&(pu32Param[1])) = bStatus;
1223 break;
1224 }
1225
1226 case MApi_CMD_AUDIO_GetDecStatus:
1227 {
1228 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetDecStatus\n");
1229 pu32Param = (MS_U32*)pArgs;
1230 eDecCmdType = psAudioInstPri->fpAUDIOGetDecStatus();
1231 *((En_DVB_decCmdType*)&(pu32Param[1])) = eDecCmdType;
1232 break;
1233 }
1234
1235 case MApi_CMD_AUDIO_Decode_Command:
1236 {
1237 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Decode_Command\n");
1238 pDecoderCommand = (PAUDIO_ST_DECODER_COMMAND)pArgs;
1239 if (pDecoderCommand->bSet == TRUE)
1240 {
1241 psAudioInstPri->fpAUDIOSetCommand(pDecoderCommand->enCommandType);
1242 }
1243 else
1244 {
1245 eDecCmd = psAudioInstPri->fpAUDIOGetCommand(pDecoderCommand->eAdoDecoderNo);
1246 pDecoderCommand->eDecCmd = eDecCmd;
1247 }
1248 break;
1249 }
1250
1251 case MApi_CMD_AUDIO_GetMAD_Lock:
1252 {
1253 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetMAD_Lock\n");
1254 pu32Param = (MS_U32*)pArgs;
1255 bStatus = psAudioInstPri->fpAUDIOGetMADLock();
1256 *((MS_BOOL*)&(pu32Param[1])) = bStatus;
1257 break;
1258 }
1259
1260 case MApi_CMD_AUDIO_SETAD:
1261 {
1262 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SETAD\n");
1263 pSetAD = (PAUDIO_ST_SET_AD)pArgs;
1264 if (pSetAD->eType == AD_OUTPUT_MODE)
1265 {
1266 psAudioInstPri->fpAUDIOSetADOutputMode(pSetAD->u8Data);
1267 }
1268 else if (pSetAD->eType == AD_ABSOLUTE_VOLUME)
1269 {
1270 psAudioInstPri->fpAUDIOSetADAbsoluteVoluem(pSetAD->u8Data);
1271 }
1272 else if (pSetAD->eType == AD_SET_MUTE)
1273 {
1274 psAudioInstPri->fpAUDIOADSetMute(pSetAD->bMute);
1275 }
1276 else if (pSetAD->eType == AD_SET_MAIN_VOL)
1277 {
1278 psAudioInstPri->fpAUDIOSetMainVolumeForAD(pSetAD->u8Data, pSetAD->u8Data2);
1279 }
1280 break;
1281 }
1282
1283 case MApi_CMD_AUDIO_SetEncInit:
1284 {
1285 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetEncInit\n");
1286 pSetEncInit = (PAUDIO_ST_SET_ENCINIT)pArgs;
1287 psAudioInstPri->fpAUDIOSetEncInit(pSetEncInit->eBitRate, pSetEncInit->u8EncFrameNum);
1288 break;
1289 }
1290
1291 case MApi_CMD_AUDIO_SetEncCommand:
1292 {
1293 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetEncCommand\n");
1294 pu32Param = (MS_U32*)pArgs;
1295 psAudioInstPri->fpAUDIOSetEncCommand((AU_DVB_ENCCMD)pu32Param[0]);
1296 break;
1297 }
1298
1299 case MApi_CMD_AUDIO_GetEncodeFrameInfo:
1300 {
1301 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetEncodeFrameInfo\n");
1302 psAudioInstPri->fpAUDIOGetEncodeFrameInfo((AU_DVB_ENC_FRAME_INFO*)pArgs);
1303 break;
1304 }
1305
1306 case MApi_CMD_AUDIO_GetEncodeDoneFlag:
1307 {
1308 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetEncodeDoneFlag\n");
1309 pu32Param = (MS_U32*)pArgs;
1310 bStatus = psAudioInstPri->fpAUDIOGetEncodeDoneFlag();
1311 *((MS_BOOL*)&(pu32Param[1])) = bStatus;
1312 break;
1313 }
1314
1315 case MApi_CMD_AUDIO_SIF_SetStandard:
1316 {
1317 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_SetStandard\n");
1318 pu32Param = (MS_U32*)pArgs;
1319 psAudioInstPri->fpAUDIOSIFSetStandard((AUDIOSTANDARD_TYPE)pu32Param[0]);
1320 break;
1321 }
1322
1323 case MApi_CMD_AUDIO_SIF_GetSoundMode:
1324 {
1325 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_GetSoundMode\n");
1326 pu32Param = (MS_U32*)pArgs;
1327 u8Status = psAudioInstPri->fpAUDIOSIFGetSoundMode();
1328 *((MS_U8*)&(pu32Param[1])) = u8Status;
1329 break;
1330 }
1331
1332 case MApi_CMD_AUDIO_SIF_SetSoundMode:
1333 {
1334 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_SetSoundMode\n");
1335 pSifSetSoundMode = (PAUDIO_ST_SIF_SET_SOUNDMODE)pArgs;
1336 bStatus = psAudioInstPri->fpAUDIOSIFSetSoundMode(pSifSetSoundMode->u8SifSoundMode);
1337 pSifSetSoundMode->bRet = bStatus;
1338 break;
1339 }
1340
1341 case MApi_CMD_AUDIO_SIF_GetAudioStatus:
1342 {
1343 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_GetAudioStatus\n");
1344 pSifGetAudioStatus = (PAUDIO_ST_SIF_GET_AUDIO_STATUS)pArgs;
1345 bStatus = psAudioInstPri->fpAUDIOSIFGetAudioStatus(pSifGetAudioStatus->p_eAudioStatus);
1346 pSifGetAudioStatus->bStatus = bStatus;
1347 break;
1348 }
1349
1350 case MApi_CMD_AUDIO_SIF_StartAutoStandardDetection:
1351 {
1352 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_StartAutoStandardDetection\n");
1353 psAudioInstPri->fpAUDIOSIFStartAutoStandardDetection();
1354 break;
1355 }
1356
1357 case MApi_CMD_AUDIO_SIF_GetResultOfAutoStandardDetection:
1358 {
1359 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_GetResultOfAutoStandardDetection\n");
1360 pu32Param = (MS_U32*)pArgs;
1361 eAUDIOStand_Type = psAudioInstPri->fpAUDIOSIFGetResultOfAutoStandardDetection();
1362 *((AUDIOSTANDARD_TYPE*)&(pu32Param[1])) = eAUDIOStand_Type;
1363 break;
1364 }
1365
1366 case MApi_CMD_AUDIO_SIF_ConvertToBasicAudioStandard:
1367 {
1368 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_ConvertToBasicAudioStandard\n");
1369 pSifConvertToBasicAudioStandard = (PAUDIO_ST_SIF_CONVERTTOBASICAUDIOSTANDARD)pArgs;
1370 eAUDIOStand_Type = psAudioInstPri->fpAUDIOSIFConvertToBasicAudioStandard(pSifConvertToBasicAudioStandard->eStandard);
1371 pSifConvertToBasicAudioStandard->eRet = eAUDIOStand_Type;
1372 break;
1373 }
1374
1375 case MApi_CMD_AUDIO_SIF_SetThreshold:
1376 {
1377 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_SetThreshold\n");
1378 psAudioInstPri->fpAUDIOSIFSetThreshold((THR_TBL_TYPE *)pArgs);
1379 break;
1380 }
1381
1382 case MApi_CMD_AUDIO_SIF_SetPrescale:
1383 {
1384 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_SetPrescale\n");
1385 pSifSetPrescale = (PAUDIO_ST_SIF_SETPRESCALE)pArgs;
1386 psAudioInstPri->fpAUDIOSIFSetPrescale(pSifSetPrescale->u8GainType, pSifSetPrescale->s32DbValue);
1387 break;
1388 }
1389
1390 case MApi_CMD_AUDIO_SIF_IsPALType:
1391 {
1392 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_IsPALType\n");
1393 pSifIsPalType = (PAUDIO_ST_SIF_ISPALTYPE)pArgs;
1394 bStatus= psAudioInstPri->fpAUDIOSIFIsPALType(pSifIsPalType->ePalType);
1395 pSifIsPalType->bRet = bStatus;
1396 break;
1397 }
1398
1399 case MApi_CMD_AUDIO_SIF_SetPALType:
1400 {
1401 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_SetPALType\n");
1402 pu32Param = (MS_U32*)pArgs;
1403 psAudioInstPri->fpAUDIOSIFSetPALType((AUDIO_SIF_PAL_TYPE)pu32Param[0]);
1404 break;
1405 }
1406
1407 case MApi_CMD_AUDIO_SIF_SendCmd:
1408 {
1409 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_SendCmd\n");
1410 pSifSendCmd = (PAUDIO_ST_SIF_SENDCMD)pArgs;
1411 psAudioInstPri->fpAUDIOSIFSendCmd(pSifSendCmd->eAudSifCommand, pSifSendCmd->u8CommArg1, pSifSendCmd->u8CommArg2);
1412 break;
1413 }
1414
1415 case MApi_CMD_AUDIO_SIF_Shift:
1416 {
1417 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SIF_Shift\n");
1418 pu32Param = (MS_U32*)pArgs;
1419 psAudioInstPri->fpAUDIOSIFShift((En_AUD_VIF_Type)pu32Param[0]);
1420 break;
1421 }
1422
1423 case MApi_CMD_AUDIO_FM_RADIO_GetSoundMode:
1424 {
1425 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_FM_RADIO_GetSoundMode\n");
1426 pu32Param = (MS_U32*)pArgs;
1427 u8Status = psAudioInstPri->fpAUDIOFMRADIOGetSoundMode();
1428 *((MS_U8*)&(pu32Param[1])) = u8Status;
1429 break;
1430 }
1431
1432 case MApi_CMD_AUDIO_FM_RADIO_SetSoundMode:
1433 {
1434 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_FM_RADIO_SetSoundMode\n");
1435 pu32Param = (MS_U32*)pArgs;
1436 psAudioInstPri->fpAUDIOFMRADIOSetSoundMode((MS_U8)pu32Param[0]);
1437 break;
1438 }
1439
1440 case MApi_CMD_AUDIO_FM_RADIO_DeEmphassisOption:
1441 {
1442 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_FM_RADIO_DeEmphassisOption\n");
1443 pu32Param = (MS_U32*)pArgs;
1444 psAudioInstPri->fpAUDIOFMRADIODeEmphassisOption((MS_BOOL)pu32Param[0]);
1445 break;
1446 }
1447
1448 case MApi_CMD_AUDIO_FM_RADIO_GetDC_Amp:
1449 {
1450 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_FM_RADIO_GetDC_Amp\n");
1451 ps32Param = (MS_S32*)pArgs;
1452 s8Status = psAudioInstPri->fpAUDIOFMRADIOGetDcAmp();
1453 *((MS_S8*)&(ps32Param[1])) = s8Status;
1454 break;
1455 }
1456
1457 case MApi_CMD_AUDIO_FM_RADIO_Get_NSR:
1458 {
1459 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_FM_RADIO_Get_NSR\n");
1460 pu32Param = (MS_U32*)pArgs;
1461 u8Status = psAudioInstPri->fpAUDIOFMRADIOGetNSR();
1462 *((MS_U8*)&(pu32Param[1])) = u8Status;
1463 break;
1464 }
1465
1466 case MApi_CMD_AUDIO_FM_RADIO_Reset:
1467 {
1468 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_FM_RADIO_Reset\n");
1469 psAudioInstPri->fpAUDIOFMRADIOReset();
1470 break;
1471 }
1472
1473 case MApi_CMD_AUDIO_SPDIF_OP:
1474 {
1475 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SPDIF_OP\n");
1476 pSpdif_op = (PAUDIO_ST_SPDIF_OP)pArgs;
1477
1478 if (pSpdif_op->eType == SPDIF_HWEN)
1479 {
1480 psAudioInstPri->fpAUDIOSPDIFHWEN(pSpdif_op->spdif_hwen);
1481 }
1482 else if (pSpdif_op->eType == SPDIF_SETMUTE)
1483 {
1484 psAudioInstPri->fpAUDIOSPDIFSetMute(pSpdif_op->mute_en);
1485 }
1486 else if (pSpdif_op->eType == SPDIF_SETMODE)
1487 {
1488 psAudioInstPri->fpAUDIOSPDIFSetMode(pSpdif_op->spdif_mode);
1489 }
1490 else if (pSpdif_op->eType == SPDIF_GETMODE)
1491 {
1492 u8Status = psAudioInstPri->fpAUDIOSPDIFGetMode();
1493 pSpdif_op->spdif_mode = u8Status;
1494 }
1495 break;
1496 }
1497
1498 case MApi_CMD_AUDIO_SPDIF_SCMS:
1499 {
1500 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SPDIF_SCMS\n");
1501 pSpdif_scms = (PAUDIO_ST_SPDIF_SCMS)pArgs;
1502 if (pSpdif_scms->bSetSCMS == TRUE)
1503 {
1504 psAudioInstPri->fpAUDIOSPDIFSetSCMS(pSpdif_scms->C_bit_en, pSpdif_scms->L_bit_en);
1505 }
1506 else
1507 {
1508 u8Status = psAudioInstPri->fpAUDIOSPDIFGetSCMS();
1509 pSpdif_scms->Ret_bit = u8Status;
1510 }
1511 break;
1512 }
1513
1514 case MApi_CMD_AUDIO_SPDIF_Monitor:
1515 {
1516 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SPDIF_Monitor\n");
1517 psAudioInstPri->fpAUDIOSPDIFMonitor();
1518 break;
1519 }
1520
1521 case MApi_CMD_AUDIO_SPDIF_ChannelStatus_CTRL:
1522 {
1523 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SPDIF_ChannelStatus_CTRL\n");
1524 pSpdifChannelStatusCtrl = (PAUDIO_ST_SPDIF_CHANNELSTATUS_CTRL)pArgs;
1525 bStatus = psAudioInstPri->fpAUDIOSPDIFChannelStatusCTRL(pSpdifChannelStatusCtrl->eCsMode, pSpdifChannelStatusCtrl->eStatus);
1526 pSpdifChannelStatusCtrl->bRet = bStatus;
1527 break;
1528 }
1529
1530 case MApi_CMD_AUDIO_DigitalOut_SetChannelStatus:
1531 {
1532 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_DigitalOut_SetChannelStatus\n");
1533 pDigitalOut_SetChannelStatus = (PAUDIO_ST_DIGITALOUT_SETCHANNELSTATUS)pArgs;
1534 bStatus = psAudioInstPri->fpAUDIODigitalOut_SetChannelStatus((DIGITAL_OUTPUT_TYPE)pDigitalOut_SetChannelStatus->ePath, (Digital_Out_Channel_Status_t*)pDigitalOut_SetChannelStatus->stChannelStatus);
1535 pDigitalOut_SetChannelStatus->bStatus = bStatus;
1536 break;
1537 }
1538
1539 case MApi_CMD_AUDIO_DigitalOut_GetChannelStatus:
1540 {
1541 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_DigitalOut_GetChannelStatus\n");
1542 pDigitalOut_GetChannelStatus = (PAUDIO_ST_DIGITALOUT_GETCHANNELSTATUS)pArgs;
1543 psAudioInstPri->fpAUDIODigitalOut_GetChannelStatus((DIGITAL_OUTPUT_TYPE)pDigitalOut_GetChannelStatus->ePath, (Digital_Out_Channel_Status_t*)pDigitalOut_GetChannelStatus->stChannelStatus);
1544 break;
1545 }
1546
1547 case MApi_CMD_AUDIO_DigitalOut_SetDeviceCapability:
1548 {
1549 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_DigitalOut_SetDeviceCapability\n");
1550 pDigitalOut_SetDeviceCap = (PAUDIO_ST_DIGITALOUT_SETDEVICECAP)pArgs;
1551 bStatus = psAudioInstPri->fpAUDIODigitalOut_SetDeviceCapabilty((DIGITAL_OUTPUT_TYPE)pDigitalOut_SetDeviceCap->eoutType, (AUDIO_FORMAT_CODE)pDigitalOut_SetDeviceCap->ecodecType, (Digital_Out_Device_Capability_t*)pDigitalOut_SetDeviceCap->p_codecCapability);
1552 pDigitalOut_SetDeviceCap->bStatus = bStatus;
1553 break;
1554 }
1555
1556 case MApi_CMD_AUDIO_HDMI_Tx_SetMute:
1557 {
1558 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_Tx_SetMute\n");
1559 pu32Param = (MS_U32*)pArgs;
1560 psAudioInstPri->fpAUDIOHDMITxSetMute((MS_BOOL)pu32Param[0]);
1561 break;
1562 }
1563
1564 case MApi_CMD_AUDIO_HDMI_Tx_GetStatus:
1565 {
1566 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_Tx_GetStatus\n");
1567 pHDMITx_GetStatus = (PAUDIO_HDMI_TX_GETSTATUS)pArgs;
1568 psAudioInstPri->fpAUDIOHDMITxGetStatus(&(pHDMITx_GetStatus->onOff), &(pHDMITx_GetStatus->hdmi_smpFreq), &(pHDMITx_GetStatus->outType));
1569 break;
1570 }
1571
1572 case MApi_CMD_AUDIO_HDMI_Monitor:
1573 {
1574 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_Monitor\n");
1575 pu32Param = (MS_U32*)pArgs;
1576 u8Status= psAudioInstPri->fpAUDIOHDMIMonitor();
1577 *((MS_U8*)&(pu32Param[1])) = u8Status;
1578 break;
1579 }
1580
1581 case MApi_CMD_AUDIO_HDMI_GetNonpcmFlag:
1582 {
1583 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_GetNonpcmFlag\n");
1584 pu32Param = (MS_U32*)pArgs;
1585 bStatus = psAudioInstPri->fpAUDIOHDMIGetNonpcmFlag();
1586 *((MS_BOOL*)&(pu32Param[1])) = bStatus;
1587 break;
1588 }
1589
1590 case MApi_CMD_AUDIO_HDMI_SetNonpcm:
1591 {
1592 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_SetNonpcm\n");
1593 pu32Param = (MS_U32*)pArgs;
1594 psAudioInstPri->fpAUDIOHDMISetNonpcm((MS_U8)pu32Param[0]);
1595 break;
1596 }
1597
1598 case MApi_CMD_AUDIO_HDMI_Nonpcm_OP:
1599 {
1600 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_Nonpcm_OP\n");
1601 pHDMI_Nonpcm_op = (PAUDIO_ST_HDMI_NONPCM_OP)pArgs;
1602 if (pHDMI_Nonpcm_op->bSet == TRUE)
1603 {
1604 eHDMI_RX_Type = psAudioInstPri->fpAUDIOHDMIRxSetNonPCM(pHDMI_Nonpcm_op->nonPCM_en);
1605 }
1606 else
1607 {
1608 eHDMI_RX_Type = psAudioInstPri->fpAUDIOHDMIRxGetNonPCM();
1609 }
1610 pHDMI_Nonpcm_op->eRet = eHDMI_RX_Type;
1611 break;
1612 }
1613
1614 case MApi_CMD_AUDIO_DTV_HDMI_CFG:
1615 {
1616 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_DTV_HDMI_CFG\n");
1617 pu32Param = (MS_U32*)pArgs;
1618 psAudioInstPri->fpAUDIODTVHDMICFG((MS_U8)pu32Param[0]);
1619 break;
1620 }
1621
1622 case MApi_CMD_AUDIO_HDMI_GetSynthFreq:
1623 {
1624 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_GetSynthFreq\n");
1625 pu32Param = (MS_U32*)pArgs;
1626 u16Status = psAudioInstPri->fpAUDIOHDMIGetSynthFreg();
1627 *((MS_U16*)&(pu32Param[1])) = u16Status;
1628 break;
1629 }
1630
1631 case MApi_CMD_AUDIO_HDMI_SetDownSample:
1632 {
1633 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_SetDownSample\n");
1634 pu32Param = (MS_U32*)pArgs;
1635 psAudioInstPri->fpAUDIOHDMISetDownSample((MS_U8)pu32Param[0]);
1636 break;
1637 }
1638
1639 case MApi_CMD_AUDIO_HDMI_TX_SetMode:
1640 {
1641 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_TX_SetMode\n");
1642 pu32Param = (MS_U32*)pArgs;
1643 psAudioInstPri->fpAUDIOHDMITxSetMode((HDMI_TX_OUTPUT_TYPE)pu32Param[0]);
1644 break;
1645 }
1646
1647 case MApi_CMD_AUDIO_HDMI_RX_GetHdmiInAudioStatus:
1648 {
1649 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_HDMI_RX_GetHdmiInAudioStatus\n");
1650 pRxHdmiSts = (PAUDIO_ST_RX_HDMI_AUDIO_STATUS)pArgs;
1651 bStatus = psAudioInstPri->fpAUDIOHDMIRxGetHDMIInAUDIOStatus(pRxHdmiSts->pHdmi_status);
1652 pRxHdmiSts->bStatus = bStatus;
1653 break;
1654 }
1655
1656 case MApi_CMD_AUDIO_ADVSOUND_ProcessEnable:
1657 {
1658 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ADVSOUND_ProcessEnable\n");
1659 pAdvSoundProcessEnable = (PAUDIO_ST_ADVSOUND_PROCESSENABLE)pArgs;
1660 bStatus = psAudioInstPri->fpAUDIOADVSOUNDProcessEnable(pAdvSoundProcessEnable->eType);
1661 pAdvSoundProcessEnable->bRet = bStatus;
1662 break;
1663 }
1664
1665 case MApi_CMD_AUDIO_ADVSOUND_SubProcessEnable:
1666 {
1667 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ADVSOUND_SubProcessEnable\n");
1668 pAdvSoundSubProcessEnable = (PAUDIO_ST_ADVSOUND_SUBPROCESSENABLE)pArgs;
1669 bStatus = psAudioInstPri->fpAUDIOADVSOUNDSubProcessEnable(pAdvSoundSubProcessEnable->eProc, pAdvSoundSubProcessEnable->bEnable);
1670 pAdvSoundSubProcessEnable->bRet = bStatus;
1671 break;
1672 }
1673
1674 case MApi_CMD_AUDIO_ADVSOUND_SetParam:
1675 {
1676 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ADVSOUND_SubProcessEnable\n");
1677 pAdvSoundSetParam = (PAUDIO_ST_ADVSOUND_SETPARAM)pArgs;
1678 bStatus = psAudioInstPri->fpAUDIOADVSOUNDSetParam(pAdvSoundSetParam->eParam, pAdvSoundSetParam->u16Value1, pAdvSoundSetParam->u16Value2);
1679 pAdvSoundSetParam->bRet = bStatus;
1680 break;
1681 }
1682
1683 case MApi_CMD_AUDIO_ADVSND_SetParam:
1684 {
1685 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ADVSND_SetParam\n");
1686 pAdvSndSetParam = (PAUDIO_ST_ADVSND_SETPARAM)pArgs;
1687 bStatus = psAudioInstPri->fpAUDIOADVSNDSetParam(pAdvSndSetParam->eParam, pAdvSndSetParam->u32Value1, pAdvSndSetParam->u16Value2);
1688 pAdvSndSetParam->bRet = bStatus;
1689 break;
1690 }
1691
1692 case MApi_CMD_AUDIO_ADVSOUND_SET_ASF_PARAM:
1693 {
1694 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ADVSOUND_SET_ASF_PARAM\n");
1695 pAdvSndSetAsfParam = (PAUDIO_ST_ADVSND_SETASFPARAM)pArgs;
1696 bStatus = psAudioInstPri->fpAUDIOADVSOUNDSetASFParam(pAdvSndSetAsfParam->eParam, pAdvSndSetAsfParam->s16Value1, pAdvSndSetAsfParam->s16Value2);
1697 pAdvSndSetAsfParam->bRet = bStatus;
1698 break;
1699 }
1700
1701 case MApi_CMD_AUDIO_ADVSOUND_GetInfo:
1702 {
1703 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ADVSOUND_GetInfo\n");
1704 pAdvSoundGetInfo = (PAUDIO_ST_SRS_ADVSOUND_GETINFO)pArgs;
1705 u32Status = psAudioInstPri->fpAUDIOADVSOUNDGetInfo(pAdvSoundGetInfo->eType);
1706 pAdvSoundGetInfo->u32Ret = u32Status;
1707 break;
1708 }
1709
1710 case MApi_CMD_AUDIO_DBXTV_SetMode:
1711 {
1712 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_DBXTV_SetMode\n");
1713 pDbxTvSetMode = (PAUDIO_ST_DBXTV_SETMODE)pArgs;
1714 psAudioInstPri->fpAUDIODBXTV_SetMode(pDbxTvSetMode->eTotSonMode, pDbxTvSetMode->eTotVolMode, pDbxTvSetMode->eTotSurMode, pDbxTvSetMode->u32Enable);
1715 break;
1716 }
1717
1718 case MApi_CMD_AUDIO_SeInit:
1719 {
1720 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SeInit\n");
1721 psAudioInstPri->fpAUDIOSeInit();
1722 break;
1723 }
1724
1725 case MApi_CMD_AUDIO_SetAdvSndSys:
1726 {
1727 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAdvSndSys\n");
1728 pSetAdvSndSys = (PAUDIO_ST_SETADVSNDSYS)pArgs;
1729 psAudioInstPri->fpAUDIOSetAdvSndSys(pSetAdvSndSys->eType);
1730 break;
1731 }
1732
1733 case MApi_CMD_AUDIO_SetVDS:
1734 {
1735 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetVDS\n");
1736 pu32Param = (MS_U32*)pArgs;
1737 psAudioInstPri->fpAUDIOSetVDS((MS_U8)pu32Param[0]);
1738 break;
1739 }
1740
1741 case MApi_CMD_AUDIO_SetVSPK:
1742 {
1743 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetVSPK\n");
1744 pu32Param = (MS_U32*)pArgs;
1745 psAudioInstPri->fpAUDIOSetVSPK((MS_U8)pu32Param[0]);
1746 break;
1747 }
1748
1749 case MApi_CMD_AUDIO_SetSRS:
1750 {
1751 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSRS\n");
1752 pu32Param = (MS_U32*)pArgs;
1753 psAudioInstPri->fpAUDIOSetSRS((MS_U8)pu32Param[0]);
1754 break;
1755 }
1756
1757 case MApi_CMD_AUDIO_SetBBE:
1758 {
1759 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetBBE\n");
1760 pSetBBE = (PAUDIO_ST_SETBBE)pArgs;
1761 psAudioInstPri->fpAUDIOSetBBE(pSetBBE->u8EnBBE, pSetBBE->u8BBEMode);
1762 break;
1763 }
1764
1765 case MApi_CMD_AUDIO_VSPK_WMod:
1766 {
1767 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_VSPK_WMod\n");
1768 pu32Param = (MS_U32*)pArgs;
1769 psAudioInstPri->fpAUDIOVSPKWMod((MS_U8)pu32Param[0]);
1770 break;
1771 }
1772
1773 case MApi_CMD_AUDIO_VSPK_SMod:
1774 {
1775 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_VSPK_SMod\n");
1776 pu32Param = (MS_U32*)pArgs;
1777 psAudioInstPri->fpAUDIOVSPKSMod((MS_U8)pu32Param[0]);
1778 break;
1779 }
1780
1781 case MApi_CMD_AUDIO_SRS_DC:
1782 {
1783 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SRS_DC\n");
1784 pu32Param = (MS_U32*)pArgs;
1785 psAudioInstPri->fpAUDIOSRSDC((MS_U8)pu32Param[0]);
1786 break;
1787 }
1788
1789 case MApi_CMD_AUDIO_SRS_TruBass:
1790 {
1791 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SRS_TruBass\n");
1792 pu32Param = (MS_U32*)pArgs;
1793 psAudioInstPri->fpAUDIOSRSTruBass((MS_U8)pu32Param[0]);
1794 break;
1795 }
1796
1797 case MApi_CMD_AUDIO_SRSTsxtPara:
1798 {
1799 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SRSTsxtPara\n");
1800 pSrsSetTsxtPara = (PAUDIO_ST_SRS_SETTSXTPARA)pArgs;
1801 psAudioInstPri->fpAUDIOSRSSetTsxtPara(pSrsSetTsxtPara->u8Mode, pSrsSetTsxtPara->u8Value);
1802 break;
1803 }
1804
1805 case MApi_CMD_AUDIO_SetSRSTSHD:
1806 {
1807 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSRSTSHD\n");
1808 pu32Param = (MS_U32*)pArgs;
1809 psAudioInstPri->fpAUDIOSetSRSTSHD((MS_U8)pu32Param[0]);
1810 break;
1811 }
1812
1813 case MApi_CMD_AUDIO_TSHD_Clarity:
1814 {
1815 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_TSHD_Clarity\n");
1816 pu32Param = (MS_U32*)pArgs;
1817 psAudioInstPri->fpAUDIOTSHDClarity((MS_U8)pu32Param[0]);
1818 break;
1819 }
1820
1821 case MApi_CMD_AUDIO_TSHD_TruBass:
1822 {
1823 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_TSHD_TruBass\n");
1824 pu32Param = (MS_U32*)pArgs;
1825 psAudioInstPri->fpAUDIOTSHDTruBass((MS_U8)pu32Param[0]);
1826 break;
1827 }
1828
1829 case MApi_CMD_AUDIO_TSHD_Definition:
1830 {
1831 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_TSHD_Definition\n");
1832 pu32Param = (MS_U32*)pArgs;
1833 psAudioInstPri->fpAUDIOTSHDDefinition((MS_U8)pu32Param[0]);
1834 break;
1835 }
1836
1837 case MApi_CMD_AUDIO_SRSSetTshdPara:
1838 {
1839 //AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SRSSetTshdPara\n");
1840 pSrsSetTshdPara = (PAUDIO_ST_SRS_SETTSHDPARA)pArgs;
1841 psAudioInstPri->fpAUDIOSRSSetTshdPara(pSrsSetTshdPara->u8Mode, pSrsSetTshdPara->u8Value);
1842 break;
1843 }
1844
1845 case MApi_CMD_AUDIO_Copy_Parameter:
1846 {
1847 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Copy_Parameter\n");
1848 pCopyParameter = (PAUDIO_ST_COPY_PARAMETER)pArgs;
1849 #if defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_700)
1850 psAudioInstPri->fpAUDIOCopyParameter((ADVSND_PARAM)(((MS_U8 *)pCopyParameter->Parameter_ptr)+pCopyParameter->parameter_size), pCopyParameter->Parameter_ptr, pCopyParameter->parameter_size);
1851 #else
1852 psAudioInstPri->fpAUDIOCopyParameter((ADVSND_PARAM)(*(((MS_U8 *)pCopyParameter->Parameter_ptr)+pCopyParameter->parameter_size)), pCopyParameter->Parameter_ptr, pCopyParameter->parameter_size);
1853 #endif
1854 break;
1855 }
1856
1857 case MApi_CMD_AUDIO_KTV_OP:
1858 {
1859 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_KTV_OP\n");
1860 pKTV_OP = (PAUDIO_ST_KTV_OP)pArgs;
1861 if (pKTV_OP->eType == KTV_SET_INFO)
1862 {
1863 bStatus = psAudioInstPri->fpAUDIOSetKTVInfo(pKTV_OP->modelType, pKTV_OP->paramType, pKTV_OP->param1, pKTV_OP->param2);
1864 pKTV_OP->bRet = bStatus;
1865 }
1866 else if (pKTV_OP->eType == KTV_GET_INFO)
1867 {
1868 u32Status = psAudioInstPri->fpAUDIOGetKTVInfo(pKTV_OP->modelType, pKTV_OP->infoType);
1869 pKTV_OP->u32Ret = u32Status;
1870 }
1871 else if (pKTV_OP->eType == KTV_SET_MIX_VOL)
1872 {
1873 psAudioInstPri->fpAUDIOSetMixModeVolume(pKTV_OP->eSourceType, pKTV_OP->VolType, pKTV_OP->u8Vol1, pKTV_OP->u8Vol2);
1874 }
1875 else if (pKTV_OP->eType == KTV_SET_MIX_MUTE)
1876 {
1877 psAudioInstPri->fpAUDIOSetMixModeMute(pKTV_OP->eSourceType, pKTV_OP->VolType, pKTV_OP->EnMute);
1878 }
1879 break;
1880 }
1881
1882 case MApi_CMD_AUDIO_PlayMenuSound:
1883 {
1884 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PlayMenuSound\n");
1885 psAudioInstPri->fpAUDIOPlayMenuSound();
1886 break;
1887 }
1888
1889 case MApi_CMD_AUDIO_SetCommAudioInfo:
1890 {
1891 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetCommAudioInfo\n");
1892 pSetCommAudioInfo = (PAUDIO_ST_SET_COMMAUDIOINFO)pArgs;
1893 bStatus = psAudioInstPri->fpAUDIOSetCommAudioInfo(pSetCommAudioInfo->eInfoType, pSetCommAudioInfo->Param1, pSetCommAudioInfo->Param2);
1894 pSetCommAudioInfo->bRet = bStatus;
1895 break;
1896 }
1897
1898 case MApi_CMD_AUDIO_SetMpegInfo:
1899 {
1900 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetMpegInfo\n");
1901 pSetMpegInfo = (PAUDIO_ST_SET_MPEGINFO)pArgs;
1902 bStatus = psAudioInstPri->fpAUDIOSetMpegInfo(pSetMpegInfo->eInfoType, pSetMpegInfo->Param1, pSetMpegInfo->Param2);
1903 pSetMpegInfo->bRet = bStatus;
1904 break;
1905 }
1906
1907 case MApi_CMD_AUDIO_SetAC3Info:
1908 {
1909 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAC3Info\n");
1910 pSetAc3Info = (PAUDIO_ST_SET_AC3INFO)pArgs;
1911 bStatus = psAudioInstPri->fpAUDIOSetAC3Info(pSetAc3Info->eInfoType, pSetAc3Info->Param1, pSetAc3Info->Param2);
1912 pSetAc3Info->bRet = bStatus;
1913 break;
1914 }
1915
1916 case MApi_CMD_AUDIO_SetAC3PInfo:
1917 {
1918 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAC3PInfo\n");
1919 pSetAc3pInfo = (PAUDIO_ST_SET_AC3PINFO)pArgs;
1920 bStatus = psAudioInstPri->fpAUDIOSetAC3PInfo(pSetAc3pInfo->eInfoType, pSetAc3pInfo->Param1, pSetAc3pInfo->Param2);
1921 pSetAc3pInfo->bRet = bStatus;
1922 break;
1923 }
1924
1925 case MApi_CMD_AUDIO_SetAACInfo:
1926 {
1927 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAACInfo\n");
1928 pSetAacInfo = (PAUDIO_ST_SET_AACINFO)pArgs;
1929 bStatus = psAudioInstPri->fpAUDIOSetAACInfo(pSetAacInfo->eInfoType, pSetAacInfo->Param1, pSetAacInfo->Param2);
1930 pSetAacInfo->bRet = bStatus;
1931 break;
1932 }
1933
1934 case MApi_CMD_AUDIO_SetWMAInfo:
1935 {
1936 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetWMAInfo\n");
1937 pSetWmaInfo = (PAUDIO_ST_SET_WMAINFO)pArgs;
1938 bStatus = psAudioInstPri->fpAUDIOSetWMAInfo(pSetWmaInfo->eInfoType, pSetWmaInfo->Param1, pSetWmaInfo->Param2);
1939 pSetWmaInfo->bRet = bStatus;
1940 break;
1941 }
1942
1943 case MApi_CMD_AUDIO_SetDTSCommonCtrl:
1944 {
1945 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetDTSCommonCtrl\n");
1946 pSetDtsCommonCtrl = (PAUDIO_ST_SET_DTSCOMMONCTRL)pArgs;
1947 bStatus = psAudioInstPri->fpAUDIOSetDTSCommonCtrl(pSetDtsCommonCtrl->eInfoType, pSetDtsCommonCtrl->eCtrlType);
1948 pSetDtsCommonCtrl->bRet = bStatus;
1949 break;
1950 }
1951
1952 case MApi_CMD_AUDIO_GetCommAudioInfo:
1953 {
1954 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetCommAudioInfo\n");
1955 pGetCommAudioInfo = (PAUDIO_ST_GET_COMMAUDIOINFO)pArgs;
1956 ulong= psAudioInstPri->fpAUDIOGetCommAudioInfo(pGetCommAudioInfo->eInfoType);
1957 pGetCommAudioInfo->u64Ret = ulong;
1958 break;
1959 }
1960
1961 case MApi_CMD_AUDIO_GetMpegInfo:
1962 {
1963 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetMpegInfo\n");
1964 pGetMpegInfo = (PAUDIO_ST_GET_MPEGINFO)pArgs;
1965 u32Status= psAudioInstPri->fpAUDIOGetMpegInfo(pGetMpegInfo->eInfoType);
1966 pGetMpegInfo->u32Ret = u32Status;
1967 break;
1968 }
1969
1970 case MApi_CMD_AUDIO_GetAC3Info:
1971 {
1972 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetAC3Info\n");
1973 pGetAc3Info = (PAUDIO_ST_GET_AC3INFO)pArgs;
1974 u32Status= psAudioInstPri->fpAUDIOGetAC3Info(pGetAc3Info->eInfoType);
1975 pGetAc3Info->u32Ret = u32Status;
1976 break;
1977 }
1978
1979 case MApi_CMD_AUDIO_GetAC3PInfo:
1980 {
1981 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetAC3PInfo\n");
1982 pGetAc3pInfo = (PAUDIO_ST_GET_AC3PINFO)pArgs;
1983 u32Status= psAudioInstPri->fpAUDIOGetAC3PInfo(pGetAc3pInfo->eInfoType);
1984 pGetAc3pInfo->u32Ret = u32Status; //todo stanley
1985 break;
1986 }
1987
1988 case MApi_CMD_AUDIO_GetAACInfo:
1989 {
1990 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetAACInfo\n");
1991 pGetAacInfo = (PAUDIO_ST_GET_AACINFO)pArgs;
1992 u32Status= psAudioInstPri->fpAUDIOGetAACInfo(pGetAacInfo->eInfoType);
1993 pGetAacInfo->u32Ret = u32Status;
1994 break;
1995 }
1996
1997 case MApi_CMD_AUDIO_GetWmaInfo:
1998 {
1999 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetWmaInfo\n");
2000 pGetWmaInfo = (PAUDIO_ST_GET_WMAINFO)pArgs;
2001 u32Status= psAudioInstPri->fpAUDIOGetWmaInfo(pGetWmaInfo->eInfoType);
2002 pGetWmaInfo->u32Ret = u32Status; //todo stanley
2003 break;
2004 }
2005
2006 case MApi_CMD_AUDIO_GetDTSInfo:
2007 {
2008 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetDTSInfo\n");
2009 pGetDtsInfo = (PAUDIO_ST_GET_DTSINFO)pArgs;
2010 u32Status= psAudioInstPri->fpAUIDOGetDTSInfo(pGetDtsInfo->eInfoType);
2011 pGetDtsInfo->u32Ret = u32Status; //todo stanley
2012 break;
2013 }
2014
2015 case MApi_CMD_AUDIO_XPCM_Param:
2016 {
2017 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_XPCM_Param\n");
2018 pXpcmParam = (PAUDIO_ST_XPCMPARAM)pArgs;
2019 u8Status = psAudioInstPri->fpAUDIOXPCMParam(pXpcmParam->eAudioType, pXpcmParam->u8Channels, pXpcmParam->u16SampleRate, pXpcmParam->u8BitsPerSample, pXpcmParam->u16BlockSize, pXpcmParam->u16SamplePerBlock);
2020 pXpcmParam->u8Ret = u8Status; //todo stanley
2021 break;
2022 }
2023
2024 case MApi_CMD_AUDIO_XPCM2_Param:
2025 {
2026 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_XPCM2_Param\n");
2027 pSetXpcmParam = (PAUDIO_ST_SET_XPCMPARAM)pArgs;
2028 psAudioInstPri->fpAUDIOXPCM2Param(pSetXpcmParam->eAudioType,pSetXpcmParam->u8Channels,pSetXpcmParam->u16SampleRate,pSetXpcmParam->u8BitsPerSample,pSetXpcmParam->u16BlockSize,pSetXpcmParam->u16SamplePerBlock);
2029 break;
2030 }
2031
2032 case MApi_CMD_AUDIO_XPCM2_CheckIntStatus:
2033 {
2034 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_XPCM2_CheckIntStatus\n");
2035 pu32Param = (MS_U32*)pArgs;
2036 u16Status = psAudioInstPri->fpAUDIOXPCM2CheckIntStatus();
2037 *((MS_U16*)&(pu32Param[1])) = u16Status;
2038 break;
2039 }
2040
2041 case MApi_CMD_AUDIO_RA8_Param:
2042 {
2043 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_RA8_Param\n");
2044 pRA8Param = (PAUDIO_ST_RA8_Param)pArgs;
2045 u8Status = psAudioInstPri->fpAUDIORA8Param((MS_U16)pRA8Param->mNumCodecs, (MS_U16)pRA8Param->mSamples, (MS_U16)pRA8Param->mSampleRate,
2046 (MS_U16*)pRA8Param->pChannels, (MS_U16*)pRA8Param->pRegions, (MS_U16*)pRA8Param->pcplStart, (MS_U16*)pRA8Param->pcplQbits, (MS_U16*)pRA8Param->pFrameSize);
2047 pRA8Param->u8Status = u8Status;
2048 break;
2049 }
2050
2051 case MApi_CMD_AUDIO_Init:
2052 {
2053 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Init\n");
2054 pu32Param = (MS_U32*)pArgs;
2055 psAudioInstPri->fpAUDIOInit((En_DVB_decSystemType)pu32Param[0]);
2056 break;
2057 }
2058
2059 case MApi_CMD_AUDIO_StartDecode:
2060 {
2061 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_StartDecode\n");
2062 psAudioInstPri->fpAUDIOStartDecode();
2063 break;
2064 }
2065
2066 case MApi_CMD_AUDIO_StartBroswe:
2067 {
2068 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_StartBroswe\n");
2069 psAudioInstPri->fpAUDIOStartBrower();
2070 break;
2071 }
2072
2073 case MApi_CMD_AUDIO_StopDecode:
2074 {
2075 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_StopDecode\n");
2076 psAudioInstPri->fpAUDIOStopDecode();
2077 break;
2078 }
2079
2080 case MApi_CMD_AUDIO_PauseDecode:
2081 {
2082 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PauseDecode\n");
2083 psAudioInstPri->fpAUDIOPauseDecode();
2084 break;
2085 }
2086
2087 case MApi_CMD_AUDIO_CheckPlayDone:
2088 {
2089 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_CheckPlayDone\n");
2090 pu32Param = (MS_U32*)pArgs;
2091 u8Status = psAudioInstPri->fpAUDIOCheckPlayDone();
2092 *((MS_U8*)&(pu32Param[1])) = u8Status;
2093 break;
2094 }
2095
2096 case MApi_CMD_AUDIO_GetResidualBufferSize:
2097 {
2098 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - IOCTL_AUDIO_GETRESIDUALBUFFERSIZE\n");
2099 pu32Param = (MS_U32*)pArgs;
2100 u16Status = psAudioInstPri->fpAUDIOGetResidualBufferSize();
2101 *((MS_U16*)&(pu32Param[1])) = u16Status;
2102 break;
2103 }
2104
2105 case MApi_CMD_AUDIO_GetPCMBufferSize:
2106 {
2107 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetPCMBufferSize\n");
2108 pGetPcmBufferSize = (PAUDIO_ST_GET_PCMBUFFERSIZE)pArgs;
2109 u16Status = psAudioInstPri->fpAUDIOGetPCMBufferSize(pGetPcmBufferSize->u16BitRate);
2110 pGetPcmBufferSize->u16Ret = u16Status;
2111 break;
2112 }
2113
2114 case MApi_CMD_AUDIO_GetPCMBufferSize2:
2115 {
2116 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetPCMBufferSize2\n");
2117 pGetPcmBufferSize2 = (PAUDIO_ST_GET_PCMBUFFERSIZE2)pArgs;
2118 u16Status = psAudioInstPri->fpAUDIOGetPCMBufferSize2(pGetPcmBufferSize2->u16BitRate, pGetPcmBufferSize2->u16SampleRate);
2119 pGetPcmBufferSize2->u16Ret = u16Status; //todo stanley
2120 break;
2121 }
2122
2123 case MApi_CMD_AUDIO_GetCurrentFrameNumber:
2124 {
2125 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetCurrentFrameNumber\n");
2126 pu32Param = (MS_U32*)pArgs;
2127 u32Status = psAudioInstPri->fpAUDIOGetCurrentFrameNumber();
2128 *((MS_U32*)&(pu32Param[1])) = u32Status;
2129 break;
2130 }
2131
2132 case MApi_CMD_AUDIO_GetSampleRates:
2133 {
2134 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetSampleRates\n");
2135 pu32Param = (MS_U32*)pArgs;
2136 u16Status = psAudioInstPri->fpAUDIOGetSampleRate();
2137 *((MS_U16*)&(pu32Param[1])) = u16Status;
2138 break;
2139 }
2140
2141 case MApi_CMD_AUDIO_GetBitRates:
2142 {
2143 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetBitRates\n");
2144 pu32Param = (MS_U32*)pArgs;
2145 u32Status = psAudioInstPri->fpAUDIOGetBitRate();
2146 *((MS_U32*)&(pu32Param[1])) = u32Status;
2147 break;
2148 }
2149
2150 case MApi_CMD_AUDIO_GetLayer:
2151 {
2152 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetLayer\n");
2153 pu32Param = (MS_U32*)pArgs;
2154 eMP3_Layer = psAudioInstPri->fpAUDIOGetLayer();
2155 *((Audio_MP3_LAYER*)&(pu32Param[1])) = eMP3_Layer;
2156 break;
2157 }
2158
2159 case MApi_CMD_AUDIO_CheckInputRequest:
2160 {
2161 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_CheckInputRequest\n");
2162 pCheckInputRequest = (PAUDIO_ST_CHECK_INPUT_REQ)pArgs;
2163 u8Status = psAudioInstPri->fpAUDIOCheckInputRequest((MS_PHY*)pCheckInputRequest->pPHYWrtAddr, (MS_U32*)pCheckInputRequest->pU32WrtBytes);
2164 pCheckInputRequest->u8Status = u8Status;
2165 break;
2166 }
2167
2168 case MApi_CMD_AUDIO_SetInput:
2169 {
2170 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetInput\n");
2171 psAudioInstPri->fpAUDIOSetInput();
2172 break;
2173 }
2174
2175 case MApi_CMD_AUDIO_SetSampleRateIndex:
2176 {
2177 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetSampleRateIndex\n");
2178 pu32Param = (MS_U32*)pArgs;
2179 psAudioInstPri->fpAUDIOSetSampleRateIndex((MS_U16)pu32Param[0]);
2180 break;
2181 }
2182
2183 case MApi_CMD_AUDIO_SetXPCMParam:
2184 {
2185 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetXPCMParam\n");
2186 pSetXpcmParam = (PAUDIO_ST_SET_XPCMPARAM)pArgs;
2187 psAudioInstPri->fpAUDIOSetXPCMParam(pSetXpcmParam->eAudioType,pSetXpcmParam->u8Channels,pSetXpcmParam->u16SampleRate,pSetXpcmParam->u8BitsPerSample,pSetXpcmParam->u16BlockSize,pSetXpcmParam->u16SamplePerBlock);
2188 break;
2189 }
2190
2191 case MApi_CMD_AUDIO_FileEndNotification:
2192 {
2193 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_FileEndNotification\n");
2194 psAudioInstPri->fpAUDIOFileEndNotification();
2195 break;
2196 }
2197
2198 case MApi_CMD_AUDIO_FileEndDataHandle:
2199 {
2200 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_FileEndDataHandle\n");
2201 pu32Param = (MS_U32*)pArgs;
2202 psAudioInstPri->fpAUDIOFileEndDataHandle((MS_U32)pu32Param[0]);
2203 break;
2204 }
2205
2206 case MApi_CMD_AUDIO_GetPlayTick:
2207 {
2208 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetPlayTick\n");
2209 pu32Param = (MS_U32*)pArgs;
2210 u32Status = psAudioInstPri->fpAUDIOGetPlayTick();
2211 *((MS_U32*)&(pu32Param[1])) = u32Status;
2212 break;
2213 }
2214
2215 case MApi_CMD_AUDIO_GetEsMEMCnt:
2216 {
2217 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetEsMEMCnt\n");
2218 pu32Param = (MS_U32*)pArgs;
2219 u16Status= psAudioInstPri->fpAUDIOGetEsMEMCnt();
2220 *((MS_U16*)&(pu32Param[1])) = u16Status;
2221 break;
2222 }
2223
2224 case MApi_CMD_AUDIO_SetASFParm:
2225 {
2226 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetASFParm\n");
2227 pSetAsfParm = (PAUDIO_ST_SET_ASFPARM)pArgs;
2228 psAudioInstPri->fpAUDIOSetASFParm(pSetAsfParm->eParmType, pSetAsfParm->u32Value);
2229 break;
2230 }
2231
2232 case MApi_CMD_AUDIO_MM_SetInput:
2233 {
2234 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_MM_SetInput\n");
2235 pMmSetInput = (PAUDIO_ST_MM_SETINPUT)pArgs;
2236 psAudioInstPri->fpAUDIOMMSetInput(pMmSetInput->eAudDecoderNo, pMmSetInput->u8IntTag);
2237 break;
2238 }
2239
2240 case MApi_CMD_AUDIO_MM_CheckPlayDone:
2241 {
2242 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_MM_CheckPlayDone\n");
2243 pMmCheckPlayDone = (PAUDIO_ST_MM_CHECKPLAYDONE)pArgs;
2244 u32Status = psAudioInstPri->fpAUDIOMMCheckPlayDone(pMmCheckPlayDone->eAudDecoderNo);
2245 pMmCheckPlayDone->u32Ret = u32Status;
2246 break;
2247 }
2248
2249 case MApi_CMD_AUDIO_MM_CheckInputRequest:
2250 {
2251 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_MM_CheckInputRequest\n");
2252 pMMCheckInputRequest = (PAUDIO_ST_MM_CHECK_INPUT_REQ)pArgs;
2253 u8Status = psAudioInstPri->fpAUDIOMMCheckInputRequest((En_DVB_AudioDecoder)pMMCheckInputRequest->AUDDecoderNo, (MS_PHY*)pMMCheckInputRequest->pPHYWrtAddr, (MS_U32*)pMMCheckInputRequest->pU32WrtBytes);
2254 pMMCheckInputRequest->u8Status = u8Status;
2255 break;
2256 }
2257
2258 case MApi_CMD_AUDIO_DmaReader_Init:
2259 {
2260 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_DmaReader_Init\n");
2261 pu32Param = (MS_U32*)pArgs;
2262 psAudioInstPri->fpAUDIODmaReaderInit((SAMPLE_RATE)pu32Param[0]);
2263 break;
2264 }
2265
2266 case MApi_CMD_AUDIO_DmaReader_AllInput_Init:
2267 {
2268 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_DmaReader_AllInput_Init\n");
2269 psAudioInstPri->fpAUDIODmaReaderAllInputInit();
2270 break;
2271 }
2272
2273 case MApi_CMD_AUDIO_DmaReader_WritePCM:
2274 {
2275 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_DmaReader_WritePCM\n");
2276 pDmaReaderWritePCM = (PAUDIO_ST_DMAREADER_WRITEPCM)pArgs;
2277 bStatus = psAudioInstPri->fpAUDIODmaReaderWritePCM((void*)pDmaReaderWritePCM->pBuffer, (MS_U32)pDmaReaderWritePCM->bytes);
2278 pDmaReaderWritePCM->bStatus = bStatus;
2279 break;
2280 }
2281
2282 case MApi_CMD_AUDIO_DmaWrite_Init:
2283 {
2284 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_DmaWrite_Init\n");
2285 psAudioInstPri->fpAUDIODmaWriterInit();
2286 break;
2287 }
2288
2289 case MApi_CMD_AUDIO_USBPCM_Enable:
2290 {
2291 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_USBPCM_Enable\n");
2292 pu32Param = (MS_U32*)pArgs;
2293 psAudioInstPri->fpAUDIOUSBPCMEnable((MS_BOOL)pu32Param[0]);
2294 break;
2295 }
2296
2297 case MApi_CMD_AUDIO_USBPCM_SetFlag:
2298 {
2299 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_USBPCM_SetFlag\n");
2300 pu32Param = (MS_U32*)pArgs;
2301 psAudioInstPri->fpAUDIOUSBPCMSetFlag((MS_BOOL)pu32Param[0]);
2302 break;
2303 }
2304
2305 case MApi_CMD_AUDIO_USBPCM_GetFlag:
2306 {
2307 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_USBPCM_GetFlag\n");
2308 pu32Param = (MS_U32*)pArgs;
2309 bStatus = psAudioInstPri->fpAUDIOUSBPCMGetFlag();
2310 *((MS_BOOL*)&(pu32Param[1])) = bStatus;
2311 break;
2312 }
2313
2314 case MApi_CMD_AUDIO_USBPCM_GetMemInfo:
2315 {
2316 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_USBPCM_GetMemInfo\n");
2317 psAudioInstPri->fpAUDIOUSBPCMGetMemInfo((AUDIO_UPLOAD_INFO*)pArgs);
2318 break;
2319 }
2320
2321 case MApi_CMD_AUDIO_PCMCapture_Init:
2322 {
2323 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PCMCapture_Init\n");
2324 pPCMCapture_Init = (PAUDIO_ST_PCMCAPTURE_INIT)pArgs;
2325 bStatus = psAudioInstPri->fpAUDIOPCMCaptureInit((const AUDIO_DEVICE_TYPE)pPCMCapture_Init->eID, (const AUDIO_CAPTURE_SOURCE_TYPE)pPCMCapture_Init->eSource);
2326 pPCMCapture_Init->bStatus = bStatus;
2327 break;
2328 }
2329
2330 case MApi_CMD_AUDIO_PCMCapture_Start:
2331 {
2332 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PCMCapture_Start\n");
2333 pPCMCapture_Init = (PAUDIO_ST_PCMCAPTURE_INIT)pArgs;
2334 bStatus = psAudioInstPri->fpAUDIOPCMCaptureStart((const AUDIO_DEVICE_TYPE)pPCMCapture_Init->eID);
2335 pPCMCapture_Init->bStatus = bStatus;
2336 break;
2337 }
2338
2339 case MApi_CMD_AUDIO_PCMCapture_Stop:
2340 {
2341 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PCMCapture_Stop\n");
2342 pPCMCapture_Init = (PAUDIO_ST_PCMCAPTURE_INIT)pArgs;
2343 bStatus = psAudioInstPri->fpAUDIOPCMCaptureStop((const AUDIO_DEVICE_TYPE)pPCMCapture_Init->eID);
2344 pPCMCapture_Init->bStatus = bStatus;
2345 break;
2346 }
2347
2348 case MApi_CMD_AUDIO_PCMCapture_Read:
2349 {
2350 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PCMCapture_Stop\n");
2351 pPCMCapture_Read = (PAUDIO_ST_PCMCAPTURE_READ)pArgs;
2352 bStatus = psAudioInstPri->fpAUDIOPCMCaptureRead((const AUDIO_DEVICE_TYPE)pPCMCapture_Read->eID, (void *)pPCMCapture_Read->pBuffer, (const MS_U32)pPCMCapture_Read->bytes);
2353 pPCMCapture_Read->bStatus = bStatus;
2354 break;
2355 }
2356
2357 case MApi_CMD_AUDIO_VoIP_Config:
2358 {
2359 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_VoIP_Config\n");
2360 pVoipConfig = (PAUDIO_ST_VOIP_CONFIG)pArgs;
2361 bStatus = psAudioInstPri->fpAUDIOVoIPConfig(pVoipConfig->eConfigType, pVoipConfig->u32Param1, pVoipConfig->u32Param2);
2362 pVoipConfig->bRet = bStatus;
2363 break;
2364 }
2365
2366 case MApi_CMD_AUDIO_ALSA_Check:
2367 {
2368 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ALSA_Check\n");
2369 pu32Param = (MS_U32*)pArgs;
2370 bStatus = psAudioInstPri->fpAUDIOALSACheck();
2371 *((MS_BOOL*)&(pu32Param[1])) = bStatus;
2372 break;
2373 }
2374
2375 case MApi_CMD_AUDIO_ALSA_Enable:
2376 {
2377 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_ALSA_Enable\n");
2378 pAlsaEnable = (PAUDIO_ST_ALSA_ENABLE)pArgs;
2379 bStatus = psAudioInstPri->fpAUDIOALSAEnable(pAlsaEnable->bEnable);
2380 pAlsaEnable->bRet = bStatus; //todo stanley
2381 break;
2382 }
2383
2384 case MApi_CMD_AUDIO_UNI_CheckDecodeDone:
2385 {
2386 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_UNI_CheckDecodeDone\n");
2387 pUNICheck_DecodeDone = (PAUDIO_ST_UNI_CHECK_DECODEDONE)pArgs;
2388 bStatus = psAudioInstPri->fpAUDIOUNICheckDecodeDone((MS_PHY*)pUNICheck_DecodeDone->pPHYWrtAddr, (MS_U32*)pUNICheck_DecodeDone->pU32WrtBytes);
2389 pUNICheck_DecodeDone->bStatus = bStatus;
2390 break;
2391 }
2392
2393 case MApi_CMD_AUDIO_UNI_SetOutput:
2394 {
2395 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_UNI_SetOutput\n");
2396 pu32Param = (MS_U32*)pArgs;
2397 psAudioInstPri->fpAUDIOUNISetOutput(pu32Param[0]);
2398 break;
2399 }
2400
2401 case MApi_CMD_AUDIO_UNI_Set_PCMInputWriteAddr:
2402 {
2403 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_UNI_Set_PCMInputWriteAddr\n");
2404 pu32Param = (MS_U32*)pArgs;
2405 psAudioInstPri->fpAUDIOUNISetPCMInputWriteAddr(pu32Param[0]);
2406 break;
2407 }
2408
2409 case MApi_CMD_AUDIO_UNI_Get_OutPCMLevel:
2410 {
2411 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_UNI_Get_OutPCMLevel\n");
2412 pu32Param = (MS_U32*)pArgs;
2413 u32Status= psAudioInstPri->fpAUDIOUNIGetOutPCMLevel();
2414 *((MS_U32*)&(pu32Param[1])) = u32Status;
2415 break;
2416 }
2417
2418 case MApi_CMD_AUDIO_RingTask:
2419 {
2420 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_RingTask\n");
2421 psAudioInstPri->fpAUDIORingTask((audioRingTask*)pArgs);
2422 break;
2423 }
2424
2425 case MApi_CMD_AUDIO_Ring_DataTransfer:
2426 {
2427 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_Ring_DataTransfer\n");
2428 pRing_Data_Trans = (PAUDIO_ST_RING_DATA_TRANS)pArgs;
2429 psAudioInstPri->fpAUDIORingDataTransfer((audioRingTask*)pRing_Data_Trans->pauRingTask, (audioRingTask*)pRing_Data_Trans->pauRingTask_1);
2430 break;
2431 }
2432
2433 case MApi_CMD_AUDIO_MM2_InitAesInfo:
2434 {
2435 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_MM2_InitAesInfo\n");
2436 pMm2InitAesInfo = (PAUDIO_ST_MM2_INITAESINFO)pArgs;
2437 bStatus = psAudioInstPri->fpAUDIOMM2InitAesInfo(pMm2InitAesInfo->eDecId);
2438 pMm2InitAesInfo->bRet = bStatus;
2439 break;
2440 }
2441
2442 case MApi_CMD_AUDIO_MM2_CheckAesInfo:
2443 {
2444 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_MM2_CheckAesInfo\n");
2445 pMM2_CheckAesInfo = (PAUDIO_ST_MM2_CHECKAESINFO)pArgs;
2446 bStatus = psAudioInstPri->fpAUDIOMM2CheckAesInfo((AUDIO_DEC_ID)pMM2_CheckAesInfo->dec_id, (AES_INFO*)pMM2_CheckAesInfo->paes_info);
2447 break;
2448 }
2449
2450 case MApi_CMD_AUDIO_MM2_InputAesFinished:
2451 {
2452 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_MM2_InputAesFinished\n");
2453 pMM2_InputAes_Finish = (PAUDIO_ST_MM2_INPUTAES_FINISH)pArgs;
2454 bStatus = psAudioInstPri->fpAUDIOMM2InputAesFinished((AUDIO_DEC_ID)pMM2_InputAes_Finish->dec_id, (MS_U32)pMM2_InputAes_Finish->es_size,
2455 (MS_BOOL)pMM2_InputAes_Finish->ptsExist, (MS_U64)pMM2_InputAes_Finish->pts);
2456 pMM2_InputAes_Finish->bStatus = bStatus;
2457 break;
2458 }
2459
2460 case MApi_CMD_AUDIO_SetAudioParam2:
2461 {
2462 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_SetAudioParam2\n");
2463 pSetAudioParam2 = (PAUDIO_ST_SET_AUDIOPARAM2)pArgs;
2464 bStatus = psAudioInstPri->fpAUDIOSetAudioParam2(pSetAudioParam2->eDecId, pSetAudioParam2->eParamType,pSetAudioParam2->Param);
2465 pSetAudioParam2->bRet = bStatus;
2466 break;
2467 }
2468
2469 case MApi_CMD_AUDIO_GetAudioInfo2:
2470 {
2471 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetAudioInfo2\n");
2472 pGetAudioInfo2 = (PAUDIO_ST_GETAUDIOINFO2)pArgs;
2473 bStatus = psAudioInstPri->fpAUDIOGetAudioInfo2((AUDIO_DEC_ID)pGetAudioInfo2->DecId, (Audio_InfoType)pGetAudioInfo2->infoType, (void*)pGetAudioInfo2->pInfo);
2474 pGetAudioInfo2->bStatus = bStatus;
2475 break;
2476 }
2477
2478 case MApi_CMD_AUDIO_GetDDRInfo:
2479 {
2480 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetDDRInfo\n");
2481 pGetDdrInfo = (PAUDIO_ST_GET_DDRINFO)pArgs;
2482 u32Status = psAudioInstPri->fpAUDIOGetDDRInfo(pGetDdrInfo->eDecId, pGetDdrInfo->eDdrInfo);
2483 pGetDdrInfo->Ret = u32Status;
2484 break;
2485 }
2486
2487 case MApi_CMD_AUDIO_GetCaps:
2488 {
2489 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_GetCaps\n");
2490 pGetCaps = (PAUDIO_ST_GETCAPS)pArgs;
2491 u32Status = psAudioInstPri->fpAUDIOGetCaps((AUDIO_DEC_ID)pGetCaps->eDecId, (MS_U32*)pGetCaps->pu32Caps);
2492 pGetCaps->u32Ret = u32Status;
2493 break;
2494 }
2495
2496 case MApi_CMD_AUDIO_PcmOpen:
2497 {
2498 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PcmOpen\n");
2499 pPcmOpen = (PAUDIO_ST_PCM_OPEN)pArgs;
2500 s32Status = psAudioInstPri->fpAUDIOPcmOpen((void*)pPcmOpen->pData);
2501 pPcmOpen->s32Ret = s32Status;
2502 break;
2503 }
2504
2505 case MApi_CMD_AUDIO_PcmClose:
2506 {
2507 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PcmClose\n");
2508 pPcmClose = (PAUDIO_ST_PCM_CLOSE)pArgs;
2509 s32Status = psAudioInstPri->fpAUDIOPcmClose(pPcmClose->s32DeviceId);
2510 pPcmClose->s32Ret = s32Status;
2511 break;
2512 }
2513
2514 case MApi_CMD_AUDIO_PcmStart:
2515 {
2516 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PcmStart\n");
2517 pPcmStart = (PAUDIO_ST_PCM_START)pArgs;
2518 s32Status = psAudioInstPri->fpAUDIOPcmStart(pPcmStart->s32DeviceId);
2519 pPcmStart->s32Ret = s32Status;
2520 break;
2521 }
2522
2523 case MApi_CMD_AUDIO_PcmStop:
2524 {
2525 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PcmStop\n");
2526 pPcmStop = (PAUDIO_ST_PCM_STOP)pArgs;
2527 s32Status = psAudioInstPri->fpAUDIOPcmStop(pPcmStop->s32DeviceId);
2528 pPcmStop->s32Ret = s32Status;
2529 break;
2530 }
2531
2532 case MApi_CMD_AUDIO_PcmSet:
2533 {
2534 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PcmSet\n");
2535 pPcmSet = (PAUDIO_ST_PCM_SET)pArgs;
2536 s32Status = psAudioInstPri->fpAUDIOPcmSet(pPcmSet->s32DeviceId, pPcmSet->u32Cmd, (const void *)pPcmSet->pData);
2537 pPcmSet->s32Ret = s32Status;
2538 break;
2539 }
2540
2541 case MApi_CMD_AUDIO_PcmGet:
2542 {
2543 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PcmGet\n");
2544 pPcmGet = (PAUDIO_ST_PCM_GET)pArgs;
2545 s32Status = psAudioInstPri->fpAUDIOPcmGet(pPcmGet->s32DeviceId, pPcmGet->u32Cmd, (void *)pPcmGet->pData);
2546 pPcmGet->s32Ret = s32Status;
2547 break;
2548 }
2549
2550 case MApi_CMD_AUDIO_PcmRead:
2551 {
2552 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PcmRead\n");
2553 pPcmRead = (PAUDIO_ST_PCM_READ)pArgs;
2554 u32Status = psAudioInstPri->fpAUDIOPcmRead(pPcmRead->s32DeviceId, (void *)pPcmRead->pBuf, pPcmRead->u32Size);
2555 pPcmRead->u32Ret = u32Status;
2556 break;
2557 }
2558
2559 case MApi_CMD_AUDIO_PcmWrite:
2560 {
2561 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PcmWrite\n");
2562 pPcmWrite = (PAUDIO_ST_PCM_WRITE)pArgs;
2563 u32Status = psAudioInstPri->fpAUDIOPcmWrite(pPcmWrite->s32DeviceId, (const void *)pPcmWrite->pBuf, pPcmWrite->u32Size);
2564 pPcmWrite->u32Ret = u32Status;
2565 break;
2566 }
2567
2568 case MApi_CMD_AUDIO_PcmFlush:
2569 {
2570 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_PcmFlush\n");
2571 pPcmFlush = (PAUDIO_ST_PCM_FLUSH)pArgs;
2572 s32Status = psAudioInstPri->fpAUDIOPcmFlush(pPcmFlush->s32DeviceId);
2573 pPcmFlush->s32Ret = s32Status;
2574 break;
2575 }
2576
2577 case MApi_CMD_AUDIO_EncoderOpen:
2578 {
2579 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EncoderOpen\n");
2580 pEncoderOpen = (PAUDIO_ST_ENCODER_OPEN)pArgs;
2581 s32Status = psAudioInstPri->fpAUDIOEncoderOpen((void*)pEncoderOpen->pName);
2582 pEncoderOpen->s32Ret = s32Status;
2583 break;
2584 }
2585
2586 case MApi_CMD_AUDIO_EncoderClose:
2587 {
2588 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EncoderClose\n");
2589 pEncoderClose = (PAUDIO_ST_ENCODER_CLOSE)pArgs;
2590 s32Status = psAudioInstPri->fpAUDIOEncoderClose(pEncoderClose->s32DeviceId);
2591 pEncoderClose->s32Ret = s32Status;
2592 break;
2593 }
2594
2595 case MApi_CMD_AUDIO_EncoderStart:
2596 {
2597 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EncoderStart\n");
2598 pEncoderStart = (PAUDIO_ST_ENCODER_START)pArgs;
2599 s32Status = psAudioInstPri->fpAUDIOEncoderStart(pEncoderStart->s32DeviceId);
2600 pEncoderStart->s32Ret = s32Status;
2601 break;
2602 }
2603
2604 case MApi_CMD_AUDIO_EncoderStop:
2605 {
2606 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EncoderStop\n");
2607 pEncoderStop = (PAUDIO_ST_ENCODER_STOP)pArgs;
2608 s32Status = psAudioInstPri->fpAUDIOEncoderStop(pEncoderStop->s32DeviceId);
2609 pEncoderStop->s32Ret = s32Status;
2610 break;
2611 }
2612
2613 case MApi_CMD_AUDIO_EncoderIoctl:
2614 {
2615 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EncoderIoctl\n");
2616 pEncoderIoctl = (PAUDIO_ST_ENCODER_IOCTL)pArgs;
2617 s32Status = psAudioInstPri->fpAUDIOEncoderIoctl(pEncoderIoctl->s32DeviceId, pEncoderIoctl->pCmd, (void *)pEncoderIoctl->pData);
2618 pEncoderIoctl->s32Ret = s32Status;
2619 break;
2620 }
2621
2622 case MApi_CMD_AUDIO_EncoderRead:
2623 {
2624 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EncoderRead\n");
2625 pEncoderRead = (PAUDIO_ST_ENCODER_READ)pArgs;
2626 u32Status = psAudioInstPri->fpAUDIOEncoderRead(pEncoderRead->s32DeviceId, (void *)pEncoderRead->pBuf, pEncoderRead->u32Size);
2627 pEncoderRead->u32Ret = u32Status;
2628 break;
2629 }
2630
2631 case MApi_CMD_AUDIO_EncoderFlush:
2632 {
2633 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "AUDIOIoctl - MApi_CMD_AUDIO_EncoderFlush\n");
2634 pEncoderFlush = (PAUDIO_ST_ENCODER_FLUSH)pArgs;
2635 s32Status = psAudioInstPri->fpAUDIOEncoderFlush(pEncoderFlush->s32DeviceId);
2636 pEncoderFlush->s32Ret = s32Status;
2637 break;
2638 }
2639
2640 default:
2641 {
2642 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_ERROR, "AUDIOIoctl - Unknown commend!!!\n");
2643 u32Ret = UTOPIA_STATUS_FAIL;
2644 }
2645 }
2646
2647 AUDIO_PRINT(AUDIO_DEBUG_LEVEL_DEBUG, "[Audio][mapiAudio.c] cmd %d Release\n", (unsigned int)u32Cmd);
2648
2649 return u32Ret;
2650 }
2651
AUDIOClose(void * pInstance)2652 MS_U32 AUDIOClose(void *pInstance)
2653 {
2654
2655 UtopiaInstanceDelete(pInstance);
2656
2657 return UTOPIA_STATUS_SUCCESS;
2658 }
2659
AUDIOStr(MS_U32 u32PowerState,void * pModule)2660 MS_U32 AUDIOStr(MS_U32 u32PowerState, void *pModule)
2661 {
2662 MS_U32 u32Return = UTOPIA_STATUS_FAIL;
2663 MS_BOOL bStatus = FALSE;
2664
2665 //UtopiaModuleGetSTRPrivate(pModule, (void**));
2666
2667 switch (u32PowerState)
2668 {
2669 case E_POWER_SUSPEND:
2670 {
2671 /* Please Implement Module Suspend Flow Here. */
2672 //printk("\033[32m [Utopia2K] %s : %d suspending \033[m\n", __FUNCTION__,__LINE__);
2673
2674 bStatus = _MApi_AUDIO_Suspend();
2675 //bStatus = psAudioInstPri->fpAUDIOSuspend();
2676
2677 u32Return = UTOPIA_STATUS_SUCCESS;//SUSPEND_OK;
2678
2679 break;
2680 }
2681
2682 case E_POWER_RESUME:
2683 {
2684 /* Please Implement Module Resume Flow Here. */
2685 //printk("\033[32m [Utopia2K] %s : %d resume \033[m\n", __FUNCTION__,__LINE__);
2686
2687 bStatus = _MApi_AUDIO_Resume();
2688 //bStatus = psAudioInstPri->fpAUDIOResume();
2689
2690 u32Return = UTOPIA_STATUS_SUCCESS;//RESUME_OK;
2691
2692 break;
2693 }
2694
2695 default:
2696 {
2697 u32Return = UTOPIA_STATUS_FAIL;
2698
2699 break;
2700 }
2701 }
2702
2703 return u32Return;// for success
2704 }
2705