Lines Matching refs:channel

47 static void MCD_resmActions(int channel);
309 int MCD_dmaStatus(int channel) in MCD_dmaStatus() argument
313 if ((channel < 0) || (channel >= NCHANNELS)) in MCD_dmaStatus()
316 tcrValue = MCD_dmaBar->taskControl[channel]; in MCD_dmaStatus()
319 if (MCD_chStatus[channel] == MCD_RUNNING in MCD_dmaStatus()
320 || MCD_chStatus[channel] == MCD_IDLE) in MCD_dmaStatus()
321 MCD_chStatus[channel] = MCD_DONE; in MCD_dmaStatus()
325 if (MCD_chStatus[channel] == MCD_RUNNING in MCD_dmaStatus()
326 || MCD_chStatus[channel] == MCD_IDLE) { in MCD_dmaStatus()
330 if ((MCD_dmaBar->ptdDebug >> channel) & 0x1) in MCD_dmaStatus()
331 MCD_chStatus[channel] = MCD_RUNNING; in MCD_dmaStatus()
333 MCD_chStatus[channel] = MCD_IDLE; in MCD_dmaStatus()
337 return MCD_chStatus[channel]; in MCD_dmaStatus()
360 int MCD_startDma(int channel, s8 * srcAddr, s16 srcIncr, s8 * destAddr, in MCD_startDma() argument
376 if ((channel < 0) || (channel >= NCHANNELS)) in MCD_startDma()
406 MCD_remVariants.remSrcRsdIncr[channel] = srcRsdIncr; in MCD_startDma()
407 MCD_remVariants.remDestRsdIncr[channel] = destRsdIncr; in MCD_startDma()
408 MCD_remVariants.remDestIncr[channel] = destIncr; in MCD_startDma()
409 MCD_remVariants.remSrcIncr[channel] = srcIncr; in MCD_startDma()
410 MCD_remVariants.remXferSize[channel] = xferSize; in MCD_startDma()
414 (int *)(MCD_taskTable[channel].contextSaveSpace) + CSAVE_OFFSET + in MCD_startDma()
420 (u32 *) (MCD_taskTable[channel].FDTandFlags & 0xffffff00); in MCD_startDma()
434 MCD_dmaBar->taskControl[channel] = in MCD_startDma()
437 while (((MCD_dmaBar->taskControl[channel] & 0x1fff) != in MCD_startDma()
442 MCD_dmaBar->taskControl[channel] = in MCD_startDma()
447 MCD_dmaBar->priority[channel] = (u8) priority & PRIORITY_PRI_MASK; in MCD_startDma()
450 if (channel < 8 && channel >= 0) { in MCD_startDma()
451 MCD_dmaBar->taskSize0 &= ~(0xf << (7 - channel) * 4); in MCD_startDma()
453 (xferSize & 3) << (((7 - channel) * 4) + 2); in MCD_startDma()
454 MCD_dmaBar->taskSize0 |= (xferSize & 3) << ((7 - channel) * 4); in MCD_startDma()
456 MCD_dmaBar->taskSize1 &= ~(0xf << (15 - channel) * 4); in MCD_startDma()
458 (xferSize & 3) << (((15 - channel) * 4) + 2); in MCD_startDma()
459 MCD_dmaBar->taskSize1 |= (xferSize & 3) << ((15 - channel) * 4); in MCD_startDma()
464 MCD_taskTable[channel].FDTandFlags &= ~MCD_TT_FLAGS_MASK; in MCD_startDma()
465 MCD_taskTable[channel].FDTandFlags |= (MCD_TT_FLAGS_MASK & flags); in MCD_startDma()
469 MCD_taskTable[channel].TDTstart = in MCD_startDma()
471 MCD_taskTable[channel].TDTend = in MCD_startDma()
475 channel); in MCD_startDma()
478 MCD_taskTable[channel].TDTstart = in MCD_startDma()
480 MCD_taskTable[channel].TDTend = in MCD_startDma()
484 channel); in MCD_startDma()
491 MCD_relocBuffDesc[channel].srcAddr = srcAddr; in MCD_startDma()
492 MCD_relocBuffDesc[channel].destAddr = destAddr; in MCD_startDma()
495 MCD_relocBuffDesc[channel].lastDestAddr = destAddr; in MCD_startDma()
497 MCD_relocBuffDesc[channel].dmaSize = dmaSize; in MCD_startDma()
498 MCD_relocBuffDesc[channel].flags = 0; /* not used */ in MCD_startDma()
499 MCD_relocBuffDesc[channel].csumResult = 0; /* not used */ in MCD_startDma()
500 MCD_relocBuffDesc[channel].next = 0; /* not used */ in MCD_startDma()
504 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
506 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
508 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
510 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
512 (u32) & (MCD_relocBuffDesc[channel]); in MCD_startDma()
517 MCD_taskTable[channel].TDTstart = in MCD_startDma()
519 MCD_taskTable[channel].TDTend = in MCD_startDma()
525 &(MCD_relocBuffDesc[channel]), in MCD_startDma()
526 cSave, MCD_taskTable, channel); in MCD_startDma()
529 MCD_taskTable[channel].TDTstart = in MCD_startDma()
531 MCD_taskTable[channel].TDTend = in MCD_startDma()
537 &(MCD_relocBuffDesc[channel]), in MCD_startDma()
538 cSave, MCD_taskTable, channel); in MCD_startDma()
545 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
548 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
554 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
557 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
561 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
563 ((volatile int *)MCD_taskTable[channel]. in MCD_startDma()
568 MCD_taskTable[channel].TDTstart = in MCD_startDma()
570 MCD_taskTable[channel].TDTend = in MCD_startDma()
575 MCD_taskTable, channel); in MCD_startDma()
578 MCD_taskTable[channel].TDTstart = in MCD_startDma()
580 MCD_taskTable[channel].TDTend = in MCD_startDma()
584 MCD_taskTable, channel); in MCD_startDma()
587 MCD_chStatus[channel] = MCD_IDLE; in MCD_startDma()
623 int MCD_XferProgrQuery(int channel, MCD_XferProg * progRep) in MCD_XferProgrQuery() argument
637 if ((channel < 0) || (channel >= NCHANNELS)) in MCD_XferProgrQuery()
642 (s8 *) ((volatile int *)MCD_taskTable[channel]. in MCD_XferProgrQuery()
645 (s8 *) ((volatile int *)MCD_taskTable[channel]. in MCD_XferProgrQuery()
648 ((volatile int *)MCD_taskTable[channel].contextSaveSpace)[DCOUNT + in MCD_XferProgrQuery()
651 (MCD_bufDesc *) ((volatile int *)MCD_taskTable[channel]. in MCD_XferProgrQuery()
663 (s8 *) ((volatile int *)MCD_taskTable[channel]. in MCD_XferProgrQuery()
666 (s8 *) ((volatile int *)MCD_taskTable[channel]. in MCD_XferProgrQuery()
669 ((volatile int *)MCD_taskTable[channel]. in MCD_XferProgrQuery()
672 (MCD_bufDesc *) ((volatile int *)MCD_taskTable[channel]. in MCD_XferProgrQuery()
693 switch (MCD_remVariants.remDestRsdIncr[channel]) { in MCD_XferProgrQuery()
697 lastDestAddr) & ((MCD_remVariants.remXferSize[channel]) - in MCD_XferProgrQuery()
701 destAddr) & ((MCD_remVariants.remXferSize[channel]) - 1); in MCD_XferProgrQuery()
707 (destDiffBytes / MCD_remVariants.remDestIncr[channel]) * in MCD_XferProgrQuery()
708 (MCD_remVariants.remDestIncr[channel] in MCD_XferProgrQuery()
709 + MCD_remVariants.remXferSize[channel]); in MCD_XferProgrQuery()
721 destAddr) & ((MCD_remVariants.remXferSize[channel]) - 1); in MCD_XferProgrQuery()
725 lastDestAddr) & ((MCD_remVariants.remXferSize[channel]) - in MCD_XferProgrQuery()
734 MCD_remVariants.remDestIncr[channel]; in MCD_XferProgrQuery()
736 numIterations * (MCD_remVariants.remDestIncr[channel] in MCD_XferProgrQuery()
737 - MCD_remVariants.remXferSize[channel]); in MCD_XferProgrQuery()
745 switch (MCD_remVariants.remSrcRsdIncr[channel]) { in MCD_XferProgrQuery()
749 (MCD_remVariants.remSrcIncr[channel] * in MCD_XferProgrQuery()
750 (progRep->dmaSize / MCD_remVariants.remXferSize[channel])); in MCD_XferProgrQuery()
758 (MCD_remVariants.remSrcIncr[channel] * in MCD_XferProgrQuery()
759 (progRep->dmaSize / MCD_remVariants.remXferSize[channel])); in MCD_XferProgrQuery()
777 static void MCD_resmActions(int channel) in MCD_resmActions() argument
785 if ((MCD_dmaBar->ptdDebug >> channel) & 0x1) in MCD_resmActions()
786 MCD_chStatus[channel] = MCD_RUNNING; in MCD_resmActions()
788 MCD_chStatus[channel] = MCD_IDLE; in MCD_resmActions()
805 int MCD_killDma(int channel) in MCD_killDma() argument
809 if ((channel < 0) || (channel >= NCHANNELS)) in MCD_killDma()
812 MCD_dmaBar->taskControl[channel] = 0x0; in MCD_killDma()
813 MCD_resumeDma(channel); in MCD_killDma()
820 MCD_chStatus[channel] = MCD_HALTED; in MCD_killDma()
844 int MCD_continDma(int channel) in MCD_continDma() argument
846 if ((channel < 0) || (channel >= NCHANNELS)) in MCD_continDma()
849 MCD_dmaBar->taskControl[channel] |= TASK_CTL_EN; in MCD_continDma()
850 MCD_chStatus[channel] = MCD_RUNNING; in MCD_continDma()
896 int MCD_pauseDma(int channel) in MCD_pauseDma() argument
900 if ((channel < 0) || (channel >= NCHANNELS)) in MCD_pauseDma()
903 if (MCD_dmaBar->taskControl[channel] & TASK_CTL_EN) { in MCD_pauseDma()
904 MCD_dmaBar->debugComp1 = channel; in MCD_pauseDma()
906 DBG_CTL_ENABLE | (1 << (channel + 16)); in MCD_pauseDma()
907 MCD_chStatus[channel] = MCD_PAUSED; in MCD_pauseDma()
928 int MCD_resumeDma(int channel) in MCD_resumeDma() argument
930 if ((channel < 0) || (channel >= NCHANNELS)) in MCD_resumeDma()
933 if (MCD_dmaBar->taskControl[channel] & TASK_CTL_EN) in MCD_resumeDma()
934 MCD_resmActions(channel); in MCD_resumeDma()
951 int MCD_csumQuery(int channel, u32 * csum) in MCD_csumQuery() argument
954 if ((channel < 0) || (channel >= NCHANNELS)) in MCD_csumQuery()
957 *csum = MCD_relocBuffDesc[channel].csumResult; in MCD_csumQuery()