Lines Matching refs:s

33 u32 LCSTREAMAlloc(LCStream* s, u32 stripSize, u32 numOutputs, u32 numInputs) {  in LCSTREAMAlloc()  argument
36 s->size = 0; in LCSTREAMAlloc()
37 s->strip_size = stripSize; in LCSTREAMAlloc()
39 s->strip_size_blocks = (stripSize>=LC_MAX_DMA_BYTES)? 0 : stripSize/CACHE_BLOCK_SIZE; in LCSTREAMAlloc()
40 s->total_strips = 0; // stream not yet associated with any data in LCSTREAMAlloc()
42 s->num_outputs = numOutputs; in LCSTREAMAlloc()
43 s->num_inputs = numInputs; in LCSTREAMAlloc()
50 s->lc_buffer_A = NULL; in LCSTREAMAlloc()
51 s->lc_buffer_B = NULL; in LCSTREAMAlloc()
56 s->lc_buffer_A = lc_area; in LCSTREAMAlloc()
57 s->lc_buffer_B = lc_area + s->strip_size*(numOutputs + numInputs); in LCSTREAMAlloc()
63 void LCSTREAMFree(LCStream* s) { in LCSTREAMFree() argument
64 ASSERT(s->lc_buffer_A); // make sure we have memory in LCSTREAMFree()
65 LCDealloc(s->lc_buffer_A); in LCSTREAMFree()
66 s->lc_buffer_A = NULL; in LCSTREAMFree()
70 void LCSTREAMAssign(LCStream* s, u32 streamLength, void* output, u32 numInputs, ...) { in LCSTREAMAssign() argument
71 s->size = streamLength; in LCSTREAMAssign()
72 s->total_strips = streamLength/s->strip_size; in LCSTREAMAssign()
74 s->out = output; in LCSTREAMAssign()
79 for (i=0; i<s->num_inputs; i++) { in LCSTREAMAssign()
80 s->in[i] = (u8*) va_arg(ap, void*); in LCSTREAMAssign()
86 void Process1In1Out(LCStream* s, LCStreamFunction f, void* funArg) { in Process1In1Out() argument
89 u8* mem_in1 = s->in[0]; in Process1In1Out()
90 u8* mem_out = s->out; in Process1In1Out()
93 u8* curr_lc_buffers = s->lc_buffer_A; // initial start of "A" buffers in Process1In1Out()
94 u8* next_lc_buffers = s->lc_buffer_B; // initial start of "B" buffers in Process1In1Out()
102 s->strip_size_blocks); in Process1In1Out()
103 mem_in1 += s->strip_size; // advance input pointer in Process1In1Out()
108 for (i=0; i<s->total_strips-1; i++) { in Process1In1Out()
112 s->strip_size_blocks); in Process1In1Out()
113 mem_in1 += s->strip_size; // advance input memory pointer in Process1In1Out()
119 f(s->strip_size, // strip size in LC in Process1In1Out()
121 curr_lc_buffers + s->strip_size, // output in Process1In1Out()
126 curr_lc_buffers + s->strip_size, // LC addr in Process1In1Out()
127 s->strip_size_blocks); in Process1In1Out()
128 mem_out += s->strip_size; // advance output memory pointer in Process1In1Out()
133 curr_lc_buffers = s->lc_buffer_B; in Process1In1Out()
134 next_lc_buffers = s->lc_buffer_A; in Process1In1Out()
136 curr_lc_buffers = s->lc_buffer_A; in Process1In1Out()
137 next_lc_buffers = s->lc_buffer_B; in Process1In1Out()
145 f(s->strip_size, // strip size in LC in Process1In1Out()
147 curr_lc_buffers + s->strip_size, // output in Process1In1Out()
152 curr_lc_buffers + s->strip_size, // LC addr in Process1In1Out()
153 s->strip_size_blocks); in Process1In1Out()
160 void Process2In1Out(LCStream* s, LCStreamFunction f, void* funArg) { in Process2In1Out() argument
163 u8* mem_in1 = s->in[0]; in Process2In1Out()
164 u8* mem_in2 = s->in[1]; in Process2In1Out()
165 u8* mem_out = s->out; in Process2In1Out()
168 u8* curr_lc_buffers = s->lc_buffer_A; // initial start of "A" buffers in Process2In1Out()
169 u8* next_lc_buffers = s->lc_buffer_B; // initial start of "B" buffers in Process2In1Out()
177 s->strip_size_blocks); in Process2In1Out()
178 LCLoadDMABlocks(curr_lc_buffers + s->strip_size, // LC addr in Process2In1Out()
180 s->strip_size_blocks); in Process2In1Out()
182 mem_in1 += s->strip_size; in Process2In1Out()
183 mem_in2 += s->strip_size; in Process2In1Out()
188 for (i=0; i<s->total_strips-1; i++) { in Process2In1Out()
192 s->strip_size_blocks); in Process2In1Out()
193 LCLoadDMABlocks(next_lc_buffers + s->strip_size, // LC addr in Process2In1Out()
195 s->strip_size_blocks); in Process2In1Out()
197 mem_in1 += s->strip_size; in Process2In1Out()
198 mem_in2 += s->strip_size; in Process2In1Out()
204 f(s->strip_size, // strip size in LC in Process2In1Out()
206 curr_lc_buffers + 2*s->strip_size, // output in Process2In1Out()
208 curr_lc_buffers + s->strip_size); // input 2 in Process2In1Out()
213 curr_lc_buffers + 2*s->strip_size, // LC addr in Process2In1Out()
214 s->strip_size_blocks); in Process2In1Out()
215 mem_out += s->strip_size; // advance output memory pointer in Process2In1Out()
220 curr_lc_buffers = s->lc_buffer_B; in Process2In1Out()
221 next_lc_buffers = s->lc_buffer_A; in Process2In1Out()
223 curr_lc_buffers = s->lc_buffer_A; in Process2In1Out()
224 next_lc_buffers = s->lc_buffer_B; in Process2In1Out()
232 f(s->strip_size, // strip size in LC in Process2In1Out()
234 curr_lc_buffers + 2*s->strip_size, // output in Process2In1Out()
236 curr_lc_buffers + s->strip_size); // input 2 in Process2In1Out()
240 curr_lc_buffers + 2*s->strip_size, // LC addr in Process2In1Out()
241 s->strip_size_blocks); in Process2In1Out()
248 void Process3In1Out(LCStream* s, LCStreamFunction f, void* funArg) { in Process3In1Out() argument
251 u8* mem_in1 = s->in[0]; in Process3In1Out()
252 u8* mem_in2 = s->in[1]; in Process3In1Out()
253 u8* mem_in3 = s->in[2]; in Process3In1Out()
254 u8* mem_out = s->out; in Process3In1Out()
256 u8* curr_lc_buffers = s->lc_buffer_A; // initial start of "A" buffers in Process3In1Out()
257 u8* next_lc_buffers = s->lc_buffer_B; // initial start of "B" buffers in Process3In1Out()
265 s->strip_size_blocks); in Process3In1Out()
266 LCLoadDMABlocks(curr_lc_buffers + s->strip_size, // LC addr in Process3In1Out()
268 s->strip_size_blocks); in Process3In1Out()
269 LCLoadDMABlocks(curr_lc_buffers + 2*s->strip_size, // LC addr in Process3In1Out()
271 s->strip_size_blocks); in Process3In1Out()
273 mem_in1 += s->strip_size; in Process3In1Out()
274 mem_in2 += s->strip_size; in Process3In1Out()
275 mem_in3 += s->strip_size; in Process3In1Out()
280 for (i=0; i<s->total_strips-1; i++) { in Process3In1Out()
284 s->strip_size_blocks); in Process3In1Out()
285 LCLoadDMABlocks(next_lc_buffers + s->strip_size, // LC addr in Process3In1Out()
287 s->strip_size_blocks); in Process3In1Out()
288 LCLoadDMABlocks(next_lc_buffers + 2*s->strip_size,// LC addr in Process3In1Out()
290 s->strip_size_blocks); in Process3In1Out()
292 mem_in1 += s->strip_size; in Process3In1Out()
293 mem_in2 += s->strip_size; in Process3In1Out()
294 mem_in3 += s->strip_size; in Process3In1Out()
300 f(s->strip_size, // strip size in LC in Process3In1Out()
302 curr_lc_buffers + 3*s->strip_size, // output in Process3In1Out()
304 curr_lc_buffers + s->strip_size, // input 2 in Process3In1Out()
305 curr_lc_buffers + 2*s->strip_size); // input 3 in Process3In1Out()
310 curr_lc_buffers + 3*s->strip_size, // LC addr in Process3In1Out()
311 s->strip_size_blocks); in Process3In1Out()
312 mem_out += s->strip_size; // advance output memory pointer in Process3In1Out()
317 curr_lc_buffers = s->lc_buffer_B; in Process3In1Out()
318 next_lc_buffers = s->lc_buffer_A; in Process3In1Out()
320 curr_lc_buffers = s->lc_buffer_A; in Process3In1Out()
321 next_lc_buffers = s->lc_buffer_B; in Process3In1Out()
329 f(s->strip_size, // strip size in LC in Process3In1Out()
331 curr_lc_buffers + 3*s->strip_size, // output in Process3In1Out()
333 curr_lc_buffers + s->strip_size, // input 2 in Process3In1Out()
334 curr_lc_buffers + 2*s->strip_size); // input 3 in Process3In1Out()
338 curr_lc_buffers + 3*s->strip_size, // LC addr in Process3In1Out()
339 s->strip_size_blocks); in Process3In1Out()
346 void Process4In1Out(LCStream* s, LCStreamFunction f, void* funArg) { in Process4In1Out() argument
349 u8* mem_in1 = s->in[0]; in Process4In1Out()
350 u8* mem_in2 = s->in[1]; in Process4In1Out()
351 u8* mem_in3 = s->in[2]; in Process4In1Out()
352 u8* mem_in4 = s->in[3]; in Process4In1Out()
353 u8* mem_out = s->out; in Process4In1Out()
355 u8* curr_lc_buffers = s->lc_buffer_A; // initial start of "A" buffers in Process4In1Out()
356 u8* next_lc_buffers = s->lc_buffer_B; // initial start of "B" buffers in Process4In1Out()
364 s->strip_size_blocks); in Process4In1Out()
365 LCLoadDMABlocks(curr_lc_buffers + s->strip_size, // LC addr in Process4In1Out()
367 s->strip_size_blocks); in Process4In1Out()
368 LCLoadDMABlocks(curr_lc_buffers + 2*s->strip_size, // LC addr in Process4In1Out()
370 s->strip_size_blocks); in Process4In1Out()
371 LCLoadDMABlocks(curr_lc_buffers + 3*s->strip_size, // LC addr in Process4In1Out()
373 s->strip_size_blocks); in Process4In1Out()
375 mem_in1 += s->strip_size; in Process4In1Out()
376 mem_in2 += s->strip_size; in Process4In1Out()
377 mem_in3 += s->strip_size; in Process4In1Out()
378 mem_in4 += s->strip_size; in Process4In1Out()
383 for (i=0; i<s->total_strips-1; i++) { in Process4In1Out()
387 s->strip_size_blocks); in Process4In1Out()
388 LCLoadDMABlocks(next_lc_buffers + s->strip_size, // LC addr in Process4In1Out()
390 s->strip_size_blocks); in Process4In1Out()
391 LCLoadDMABlocks(next_lc_buffers + 2*s->strip_size,// LC addr in Process4In1Out()
393 s->strip_size_blocks); in Process4In1Out()
394 LCLoadDMABlocks(next_lc_buffers + 3*s->strip_size,// LC addr in Process4In1Out()
396 s->strip_size_blocks); in Process4In1Out()
398 mem_in1 += s->strip_size; in Process4In1Out()
399 mem_in2 += s->strip_size; in Process4In1Out()
400 mem_in3 += s->strip_size; in Process4In1Out()
401 mem_in4 += s->strip_size; in Process4In1Out()
407 f(s->strip_size, // strip size in LC in Process4In1Out()
409 curr_lc_buffers + 4*s->strip_size, // output in Process4In1Out()
411 curr_lc_buffers + s->strip_size, // input 2 in Process4In1Out()
412 curr_lc_buffers + 2*s->strip_size, // input 3 in Process4In1Out()
413 curr_lc_buffers + 3*s->strip_size); // input 4 in Process4In1Out()
418 curr_lc_buffers + 4*s->strip_size, // LC addr in Process4In1Out()
419 s->strip_size_blocks); in Process4In1Out()
420 mem_out += s->strip_size; // advance output memory pointer in Process4In1Out()
426 curr_lc_buffers = s->lc_buffer_B; in Process4In1Out()
427 next_lc_buffers = s->lc_buffer_A; in Process4In1Out()
429 curr_lc_buffers = s->lc_buffer_A; in Process4In1Out()
430 next_lc_buffers = s->lc_buffer_B; in Process4In1Out()
438 f(s->strip_size, // strip size in LC in Process4In1Out()
440 curr_lc_buffers + 4*s->strip_size, // output in Process4In1Out()
442 curr_lc_buffers + s->strip_size, // input 2 in Process4In1Out()
443 curr_lc_buffers + 2*s->strip_size, // input 3 in Process4In1Out()
444 curr_lc_buffers + 3*s->strip_size); // input 4 in Process4In1Out()
448 curr_lc_buffers + 4*s->strip_size, // LC addr in Process4In1Out()
449 s->strip_size_blocks); in Process4In1Out()
456 void LCSTREAMProcess(LCStream* s, BOOL do_flush, LCStreamFunction f, void* funArg) { in LCSTREAMProcess() argument
461 for (i=0; i<s->num_inputs; i++) { // flush all the input streams in LCSTREAMProcess()
462 DCFlushRangeNoSync(s->in[i], s->size); in LCSTREAMProcess()
464 DCInvalidateRange(s->out, s->size); // invalidate the output stream in LCSTREAMProcess()
469 switch (s->num_inputs) { in LCSTREAMProcess()
471 Process1In1Out(s, f, funArg); in LCSTREAMProcess()
474 Process2In1Out(s, f, funArg); in LCSTREAMProcess()
477 Process3In1Out(s, f, funArg); in LCSTREAMProcess()
480 Process4In1Out(s, f, funArg); in LCSTREAMProcess()