1 #include <linux/kernel.h>
2 #include <linux/string.h>
3 #include <linux/slab.h>
4 #include <linux/uaccess.h>
5
6 #include "MsTypes.h"
7 #include "utopia.h"
8 #include "drvAESDMA.h"
9 #include "drvAESDMA_v2.h"
10 #include "CIPHER_adp.h"
11
12
13 #include "utopia_adp.h"
14 //#include "MsOS.h"
15
16 UADP_SDT_0_DEF(NULL);
17 //Top
18 UADP_STRUCT_POINTER_TABLE spt_AESDMA_INIT[10];
19 UADP_STRUCT_POINTER_TABLE spt_AESDMA_FILE_INOUT[10];
20 UADP_STRUCT_POINTER_TABLE spt_AESDMA_SEL_ENG[10];
21 UADP_STRUCT_POINTER_TABLE spt_AESDMA_SET_PS[10];
22 UADP_STRUCT_POINTER_TABLE spt_AESDMA_NOTIFY[10];
23 UADP_STRUCT_POINTER_TABLE spt_AESDMA_RAND[10];
24 UADP_STRUCT_POINTER_TABLE spt_SHA_CALCULATE[10];
25 UADP_STRUCT_POINTER_TABLE spt_SHA_CALCULATE_MANUAL[10];
26 UADP_STRUCT_POINTER_TABLE spt_RSA_CALCULATE[10];
27 UADP_STRUCT_POINTER_TABLE spt_RSA_OUTPUT[10];
28
29 UADP_STRUCT_POINTER_TABLE spt_AESDMA_SetKeyList[10];
30 UADP_STRUCT_POINTER_TABLE spt_AESDMA_SetIvList[10];
31 UADP_STRUCT_POINTER_TABLE spt_AESDMA_SetKeyExList[10];
32 UADP_STRUCT_POINTER_TABLE spt_AESDMA_SetIvExList[10];
33
34 //Bottom
35 UADP_STRUCT_POINTER_TABLE spt_DrvAESDMA_RSASig[10];
36 UADP_STRUCT_POINTER_TABLE spt_DrvAESDMA_RSAKey[10];
37 UADP_STRUCT_POINTER_TABLE spt_DrvAESDMA_RSAOut[10];
38 UADP_STRUCT_POINTER_TABLE spt_DrvAESDMA_HASHCFG[10];
39 UADP_STRUCT_POINTER_TABLE spt_DrvAESDMA_SHADataInfo[10];
40 UADP_STRUCT_POINTER_TABLE spt_DrvAESDMA_SecureInfo[10];
41
42 UADP_STRUCT_POINTER_TABLE spt_AESDMA_ParserSetScrmbPattern[10];
43 UADP_STRUCT_POINTER_TABLE spt_AESDMA_ParserPyPassPid[10];
44 UADP_STRUCT_POINTER_TABLE spt_AESDMA_ParserSetPid[10];
45 UADP_STRUCT_POINTER_TABLE spt_AESDMA_ParserEncrypt[10];
46 UADP_STRUCT_POINTER_TABLE spt_AESDMA_ParserDecrypt[10];
47 UADP_STRUCT_POINTER_TABLE spt_AESDMA_ParserSetAddedScrmbPattern[10];
48 UADP_STRUCT_POINTER_TABLE spt_AESDMA_GetStatus[10];
49 //UADP_STRUCT_POINTER_TABLE spt_AESDMA_MDrvProcessCipher[10];
50
51 UADP_STRUCT_POINTER_TABLE spt_AESDMA_START[10];
52 UADP_STRUCT_POINTER_TABLE spt_AESDMA_SetDefaultCAVid[10];
53 UADP_STRUCT_POINTER_TABLE spt_AESDMA_AllocKeySlot[10];
54 UADP_STRUCT_POINTER_TABLE spt_AESDMA_FreeKeySlot[10];
55
AESDMA_adp_Init(FUtopiaIOctl * pIoctl)56 MS_U32 AESDMA_adp_Init(FUtopiaIOctl* pIoctl)
57 {
58
59 //set table
60 printk("AESDMA_adp_Init\n");
61
62 UADPBypassSetSPT(&spt_AESDMA_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(AESDMA_INIT));
63 UADPBypassSetSPT(&spt_AESDMA_INIT[1],UADP_SPT_END , 0, 0);
64
65 UADPBypassSetSPT(&spt_AESDMA_FILE_INOUT[0],UADP_SPT_SELF_SIZE,0, sizeof(AESDMA_FILE_INOUT));
66 UADPBypassSetSPT(&spt_AESDMA_FILE_INOUT[1],UADP_SPT_END , 0, 0);
67
68
69 UADP_SPT_BGN(&spt_AESDMA_SEL_ENG[0], sizeof(AESDMA_SEL_ENG));
70 UADP_SPT_FIN(&spt_AESDMA_SEL_ENG[1]);
71
72
73 UADP_SPT_BGN(&spt_AESDMA_SET_PS[0],sizeof(AESDMA_SET_PS));
74 UADP_SPT_FIN(&spt_AESDMA_SET_PS[1]);
75
76
77 UADP_SDT_BGN (&spt_AESDMA_NOTIFY[0], sizeof(AESDMA_NOTIFY));
78 UADP_SDT_KIND(&spt_AESDMA_NOTIFY[1], AESDMA_NOTIFY, UADP_SDT_AT, pfCallback,NULL);
79 UADP_SDT_FIN(&spt_AESDMA_NOTIFY[2]);
80
81
82 UADP_SDT_BGN (&spt_AESDMA_RAND[0], sizeof(AESDMA_RAND));
83 UADP_SDT_KIND(&spt_AESDMA_RAND[1], AESDMA_RAND, UADP_SDT_P2N, u32PABuf,NULL);
84 UADP_SDT_FIN(&spt_AESDMA_RAND[2]);
85
86
87 UADPBypassSetSPT(&spt_SHA_CALCULATE[0],UADP_SPT_SELF_SIZE,0, sizeof(SHA_CALCULATE));
88 UADPBypassSetSPT(&spt_SHA_CALCULATE[1],UADP_SPT_END , 0, 0);
89
90
91 UADP_SDT_BGN (&spt_SHA_CALCULATE_MANUAL[0], sizeof(SHA_CALCULATE_MANUAL));
92 UADP_SDT_KIND(&spt_SHA_CALCULATE_MANUAL[1], SHA_CALCULATE_MANUAL, UADP_SDT_P2N, pu8SetIV,NULL);
93 UADP_SDT_FIN(&spt_SHA_CALCULATE_MANUAL[2]);
94
95 //bottom
96
97 UADP_SPT_BGN(&spt_DrvAESDMA_RSAKey[0],sizeof(DrvAESDMA_RSAKey));
98 UADP_SPT_FIN(&spt_DrvAESDMA_RSAKey[1]);
99
100 UADP_SPT_BGN(&spt_DrvAESDMA_RSASig[0],sizeof(DrvAESDMA_RSASig));
101 UADP_SPT_FIN(&spt_DrvAESDMA_RSASig[1]);
102
103 UADP_SPT_BGN(&spt_DrvAESDMA_RSAOut[0],sizeof(DrvAESDMA_RSAOut));
104 UADP_SPT_FIN(&spt_DrvAESDMA_RSAOut[1]);
105
106 UADP_SPT_BGN(&spt_DrvAESDMA_SecureInfo[0],sizeof(DrvAESDMA_SecureInfo));
107 UADP_SPT_FIN(&spt_DrvAESDMA_SecureInfo[1]);
108
109 UADP_SPT_BGN(&spt_DrvAESDMA_SHADataInfo[0], sizeof(DrvAESDMA_SHADataInfo));
110 UADP_SPT_FIN(&spt_DrvAESDMA_SHADataInfo[1]);
111
112 UADP_SPT_BGN(&spt_DrvAESDMA_HASHCFG[0], sizeof(DrvAESDMA_HASHCFG));
113 UADP_SPT_FIN(&spt_DrvAESDMA_HASHCFG[3]);
114
115 UADP_SPT_BGN(&spt_AESDMA_SetKeyList[0],sizeof(MS_U32)*4);
116 UADP_SPT_FIN(&spt_AESDMA_SetKeyList[1]);
117
118 UADP_SPT_BGN(&spt_AESDMA_SetIvList[0],sizeof(MS_U32)*4);
119 UADP_SPT_FIN(&spt_AESDMA_SetIvList[1]);
120
121 UADP_SPT_BGN(&spt_AESDMA_SetKeyExList[0],sizeof(AESDMA_SET_KEY_EX));
122 UADP_SDT_KIND(&spt_AESDMA_SetKeyExList[1], AESDMA_SET_KEY_EX, UADP_SDT_P2N, pu8Key,NULL);
123 UADP_SPT_FIN(&spt_AESDMA_SetKeyExList[2]);
124
125 UADP_SPT_BGN(&spt_AESDMA_SetIvExList[0],sizeof(AESDMA_SET_IV_EX));
126 UADP_SDT_KIND(&spt_AESDMA_SetIvExList[1], AESDMA_SET_IV_EX, UADP_SDT_P2N, pu8IV,NULL);
127 UADP_SPT_FIN(&spt_AESDMA_SetIvExList[2]);
128
129 UADP_SPT_BGN(&spt_AESDMA_ParserSetScrmbPattern[0], sizeof(AESDMA_PARSER_CONFIGURATIONS));
130 UADP_SPT_FIN(&spt_AESDMA_ParserSetScrmbPattern[1]);
131
132 UADP_SPT_BGN(&spt_AESDMA_ParserPyPassPid[0], sizeof(AESDMA_PARSER_PID_CONFIGURATIONS));
133 UADP_SPT_FIN(&spt_AESDMA_ParserPyPassPid[1]);
134
135 UADP_SPT_BGN(&spt_AESDMA_ParserSetPid[0], sizeof(AESDMA_PARSER_PID_CONFIGURATIONS));
136 UADP_SPT_FIN(&spt_AESDMA_ParserSetPid[1]);
137
138 UADP_SPT_BGN(&spt_AESDMA_ParserEncrypt[0], sizeof(DrvAESDMA_ParserMode));
139 UADP_SPT_FIN(&spt_AESDMA_ParserEncrypt[1]);
140
141 UADP_SPT_BGN(&spt_AESDMA_ParserDecrypt[0], sizeof(DrvAESDMA_ParserMode));
142 UADP_SPT_FIN(&spt_AESDMA_ParserDecrypt[1]);
143
144 UADP_SPT_BGN(&spt_AESDMA_ParserSetAddedScrmbPattern[0], sizeof(AESDMA_PARSER_CONFIGURATIONS));
145 UADP_SPT_FIN(&spt_AESDMA_ParserSetAddedScrmbPattern[1]);
146
147 UADP_SPT_BGN(&spt_AESDMA_GetStatus[0], sizeof(MS_U32));
148 UADP_SPT_FIN(&spt_AESDMA_GetStatus[1]);
149
150 // UADP_SPT_BGN(&spt_AESDMA_MDrvProcessCipher[0], sizeof(HDCP_CIPHER));
151 // UADP_SPT_FIN(&spt_AESDMA_MDrvProcessCipher[1]);
152
153 UADPBypassSetSPT(&spt_AESDMA_START[0],UADP_SPT_SELF_SIZE,0, sizeof(AESDMA_START));
154 UADPBypassSetSPT(&spt_AESDMA_START[1],UADP_SPT_END , 0, 0);
155
156 UADP_SPT_BGN(&spt_AESDMA_SetDefaultCAVid[0], sizeof(AESDMA_CAVID));
157 UADP_SPT_FIN(&spt_AESDMA_SetDefaultCAVid[1]);
158
159 UADP_SDT_BGN (&spt_AESDMA_AllocKeySlot[0], sizeof(AESDMA_ALLOC_KEY_SLOT));
160 UADP_SDT_KIND(&spt_AESDMA_AllocKeySlot[1], AESDMA_ALLOC_KEY_SLOT, UADP_SDT_P2N, pu32KeyIndex,NULL);
161 UADP_SDT_FIN(&spt_AESDMA_AllocKeySlot[2]);
162
163 UADP_SPT_BGN(&spt_AESDMA_FreeKeySlot[0], sizeof(AESDMA_KEY_INDEX));
164 UADP_SPT_FIN(&spt_AESDMA_FreeKeySlot[1]);
165
166 UADP_SDT_NAME2(RSA_CALCULATE,RSA_CALCULATE,UADP_SDT_P2N,pstSign,DrvAESDMA_RSASig,UADP_SDT_P2N,pstKey,DrvAESDMA_RSAKey);
167 UADP_SDT_NAME1(RSA_OUTPUT,RSA_OUTPUT,UADP_SDT_P2N,pstRSAOut,DrvAESDMA_RSAOut);
168
169 *pIoctl= (FUtopiaIOctl)AESDMA_adp_Ioctl;
170 return 0;
171
172 }
173
174 /*
175 MS_U32 AESDMA_DDI_Open(void* pInstant,const void* const pAttribute)
176 {
177 return UtopiaOpen(MODULE_AESDMA,pInstant,0,pAttribute);
178 }
179 */
AESDMA_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)180 MS_U32 AESDMA_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
181 {
182 MS_U32 u32Ret = UTOPIA_STATUS_FAIL;
183 char buffer_arg[2048];
184
185 switch(u32Cmd)
186 {
187 case MDrv_CMD_AESDMA_Init :
188 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_INIT,NULL,buffer_arg,sizeof(buffer_arg));
189 break;
190 case MDrv_CMD_AESDMA_SetIV:
191 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_SetIvList,NULL,buffer_arg,sizeof(buffer_arg));
192 break;
193 case MDrv_CMD_AESDMA_Reset:
194 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
195 break;
196 case MDrv_CMD_AESDMA_SetFileInOut:
197 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_FILE_INOUT, NULL, buffer_arg, sizeof(buffer_arg));
198 break;
199 case MDrv_CMD_AESDMA_SetKey:
200 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_SetKeyList,NULL,buffer_arg,sizeof(buffer_arg));
201 break;
202 case MDrv_CMD_AESDMA_SelEng:
203 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_SEL_ENG,NULL,buffer_arg,sizeof(buffer_arg));
204 break;
205 case MDrv_CMD_AESDMA_Start:
206 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_INIT, NULL,buffer_arg,sizeof(buffer_arg));
207 break;
208 case MDrv_CMD_AESDMA_GetStatus:
209 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_GetStatus,spt_AESDMA_GetStatus,buffer_arg,sizeof(buffer_arg));
210 break;
211 case MDrv_CMD_AESDMA_IsFinished:
212 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
213 break;
214 case MDrv_CMD_AESDMA_SetClk:
215 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
216 break;
217 case MDrv_CMD_AESDMA_SetSecureKey:
218 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
219 break;
220 case MDrv_CMD_AESDMA_SetPS:
221 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_SET_PS,NULL,buffer_arg,sizeof(buffer_arg));
222 break;
223 case MDrv_CMD_AESDMA_PSRelease:
224 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
225 break;
226 case MDrv_CMD_AESDMA_GetPSMatchedByteCNT:
227 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
228 break;
229 case MDrv_CMD_AESDMA_GetPSMatchedPTN:
230 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
231 break;
232 case MDrv_CMD_AESDMA_Notify:
233 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_NOTIFY,NULL,buffer_arg,sizeof(buffer_arg));
234 break;
235 case MDrv_CMD_AESDMA_Rand:
236 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
237 break;
238 case MDrv_CMD_RSA_Calculate:
239 {
240 // void* pDatatmp_RSASig;
241 // void* pDatatmp_RSAKey;
242 // RSA_CALCULATE tmp_RSA;
243 //
244 // pDatatmp_RSASig = kmalloc(sizeof (DrvAESDMA_RSASig),GFP_KERNEL);
245 // pDatatmp_RSAKey = kmalloc(sizeof (DrvAESDMA_RSAKey),GFP_KERNEL);
246 //
247 // copy_from_user(&tmp_RSA,pArgs,sizeof (RSA_CALCULATE));
248 // copy_from_user(pDatatmp_RSASig, tmp_RSA.pstSign, sizeof (DrvAESDMA_RSASig));
249 // copy_from_user(pDatatmp_RSAKey, tmp_RSA.pstKey, sizeof (DrvAESDMA_RSAKey));
250 //
251 // tmp_RSA.pstSign = pDatatmp_RSASig;
252 // tmp_RSA.pstKey = pDatatmp_RSAKey;
253 //
254 // u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,&tmp_RSA);
255 // free(pDatatmp_RSASig);
256 // free(pDatatmp_RSAKey);
257
258 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_RSA_CALCULATE,spt_RSA_CALCULATE,buffer_arg,sizeof(buffer_arg));
259 }
260 break;
261 case MDrv_CMD_RSA_IsFinished:
262 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
263 break;
264 case MDrv_CMD_RSA_Output:
265 {
266 // void* pDatatmp_RSAOut;
267 // void* pDatatmp_RSAUserOut;
268 // RSA_OUTPUT tmp_RSA;
269 //
270 // pDatatmp_RSAOut = kmalloc(sizeof (DrvAESDMA_RSAOut),GFP_KERNEL);
271 //
272 // copy_from_user(&tmp_RSA,pArgs,sizeof (RSA_OUTPUT));
273 // copy_from_user(pDatatmp_RSAOut, tmp_RSA.pstRSAOut, sizeof (RSA_OUTPUT));
274 //
275 // pDatatmp_RSAUserOut = tmp_RSA.pstRSAOut;
276 // tmp_RSA.pstRSAOut = pDatatmp_RSAOut;
277 //
278 // u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,&tmp_RSA);
279 //
280 // copy_to_user(pDatatmp_RSAUserOut, tmp_RSA.pstRSAOut, sizeof(DrvAESDMA_RSAOut));
281 // free(pDatatmp_RSAOut);
282 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_RSA_OUTPUT,spt_RSA_OUTPUT,buffer_arg,sizeof(buffer_arg));
283 }
284 break;
285 case MDrv_CMD_SHA_Calculate:
286 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_SHA_CALCULATE,spt_SHA_CALCULATE,buffer_arg,sizeof(buffer_arg));
287 break;
288 case MDrv_CMD_AESDMA_Memcpy:
289 u32Ret=UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
290 break;
291 case MDrv_CMD_SHA_CalculateManual:
292 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_SHA_CALCULATE_MANUAL,spt_SHA_CALCULATE_MANUAL,buffer_arg,sizeof(buffer_arg));
293 break;
294 case MDrv_CMD_AESDMA_PARSER_MASKSCRMB:
295 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
296 break;
297 case MDrv_CMD_AESDMA_PARSER_SETSCRMBPATTERN:
298 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_ParserSetScrmbPattern,NULL,buffer_arg,sizeof(buffer_arg));
299 break;
300 case MDrv_CMD_AESDMA_PARSER_BYPASSPID:
301 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_ParserPyPassPid,NULL,buffer_arg,sizeof(buffer_arg));
302 break;
303 case MDrv_CMD_AESDMA_PARSER_SETPID:
304 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_ParserSetPid,NULL,buffer_arg,sizeof(buffer_arg));
305 break;
306 case MDrv_CMD_AESDMA_PARSER_ENCRYPT:
307 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_ParserEncrypt,NULL,buffer_arg,sizeof(buffer_arg));
308 break;
309 case MDrv_CMD_AESDMA_PARSER_DECRYPT:
310 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_ParserDecrypt,NULL,buffer_arg,sizeof(buffer_arg));
311 break;
312 case MDrv_CMD_AESDMA_PARSER_Start:
313 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
314 break;
315 case MDrv_CMD_AESDMA_PARSER_SETADDEDSCRMBPATTERN:
316 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_ParserSetAddedScrmbPattern,NULL,buffer_arg,sizeof(buffer_arg));
317 break;
318 case MDrv_CMD_AESDMA_PARSER_QUERYPIDCOUNT:
319 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
320 break;
321 case MDrv_CMD_AESDMA_ENABLE_Two_Key:
322 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
323 break;
324 case MDrv_CMD_AESDMA_SetOddKey:
325 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_SetKeyList,NULL,buffer_arg,sizeof(buffer_arg));
326 break;
327 case MDrv_CMD_AESDMA_SetOddIV:
328 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_SetIvList,NULL,buffer_arg,sizeof(buffer_arg));
329 break;
330 case MDrv_CMD_IS_SECRETKEY_IN_NORMAL_BLANK:
331 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
332 break;
333 case MDrv_CMD_AESDMA_SetKey_Ex:
334 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_SetKeyExList,NULL,buffer_arg,sizeof(buffer_arg));
335 break;
336 case MDrv_CMD_AESDMA_SetIV_Ex:
337 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_SetIvExList,NULL,buffer_arg,sizeof(buffer_arg));
338 break;
339 case MDrv_CMD_AESDMA_SetDefaultCAVid:
340 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_SetDefaultCAVid,NULL,buffer_arg,sizeof(buffer_arg));
341 break;
342 case MDrv_CMD_HDCP_MDrv_PROCESSCIPHER:
343 // u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_MDrvProcessCipher,NULL,buffer_arg,sizeof(buffer_arg));
344 break;
345 case MDrv_CMD_AESDMA_AllocKeySlot:
346 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_AllocKeySlot,NULL,buffer_arg,sizeof(buffer_arg));
347 break;
348 case MDrv_CMD_AESDMA_FreeKeySlot:
349 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AESDMA_FreeKeySlot,NULL,buffer_arg,sizeof(buffer_arg));
350 break;
351
352
353 //case MDrv_CMD_Event_Poll:
354 // UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
355 default:
356 break;
357
358 }
359
360
361 return u32Ret;
362 // return UtopiaIoctl(pModuleDDI->pInstant,u32Cmd,arg);
363 }
364
365
366
367
368