506 TInt RequestFragmentCount(TUint aRequestCookie) |
506 TInt RequestFragmentCount(TUint aRequestCookie) |
507 { |
507 { |
508 return DoControl(EFragmentCount, reinterpret_cast<TAny*>(aRequestCookie)); |
508 return DoControl(EFragmentCount, reinterpret_cast<TAny*>(aRequestCookie)); |
509 } |
509 } |
510 |
510 |
|
511 TInt RequestEnableDstElementCounting(TUint aRequestCookie) |
|
512 { |
|
513 return DoControl(EEnableDstElementCounting, reinterpret_cast<TAny*>(aRequestCookie)); |
|
514 } |
|
515 |
|
516 TInt RequestEnableSrcElementCounting(TUint aRequestCookie) |
|
517 { |
|
518 return DoControl(EEnableSrcElementCounting, reinterpret_cast<TAny*>(aRequestCookie)); |
|
519 } |
|
520 |
|
521 TInt RequestDisableDstElementCounting(TUint aRequestCookie) |
|
522 { |
|
523 return DoControl(EDisableDstElementCounting, reinterpret_cast<TAny*>(aRequestCookie)); |
|
524 } |
|
525 |
|
526 TInt RequestDisableSrcElementCounting(TUint aRequestCookie) |
|
527 { |
|
528 return DoControl(EDisableSrcElementCounting, reinterpret_cast<TAny*>(aRequestCookie)); |
|
529 } |
|
530 |
|
531 TInt RequestTotalNumDstElementsTransferred(TUint aRequestCookie) |
|
532 { |
|
533 return DoControl(ETotalNumDstElementsTransferred, reinterpret_cast<TAny*>(aRequestCookie)); |
|
534 } |
|
535 |
|
536 TInt RequestTotalNumSrcElementsTransferred(TUint aRequestCookie) |
|
537 { |
|
538 return DoControl(ETotalNumSrcElementsTransferred, reinterpret_cast<TAny*>(aRequestCookie)); |
|
539 } |
|
540 |
511 /** |
541 /** |
512 Will fragment a DMA request using the legacy API |
542 Will fragment a DMA request using the legacy API |
513 */ |
543 */ |
514 TInt FragmentRequestOld(TUint aRequestCookie, const TDmaTransferArgs& aTransferArgs, TUint64* aDurationMicroSecs=NULL) |
544 TInt FragmentRequestOld(TUint aRequestCookie, const TDmaTransferArgs& aTransferArgs, TUint64* aDurationMicroSecs=NULL) |
515 { |
545 { |
612 { |
642 { |
613 TRequestCreateArgs args(aChannelCookie, aNewStyle, aMaxTransferSize); |
643 TRequestCreateArgs args(aChannelCookie, aNewStyle, aMaxTransferSize); |
614 TPckgC<TRequestCreateArgs> package(args); |
644 TPckgC<TRequestCreateArgs> package(args); |
615 return DoControl(ERequestOpen, &package, &aRequestCookie); |
645 return DoControl(ERequestOpen, &package, &aRequestCookie); |
616 } |
646 } |
617 |
647 |
618 |
|
619 struct TRequestCreateArgs |
648 struct TRequestCreateArgs |
620 { |
649 { |
621 TRequestCreateArgs(TUint aChannelCookie, TBool aNewStyle, TUint aMaxFragmentSize) |
650 TRequestCreateArgs(TUint aChannelCookie, TBool aNewStyle, TUint aMaxFragmentSize) |
622 :iChannelCookie(aChannelCookie), iNewStyle(aNewStyle), iMaxFragmentSize(aMaxFragmentSize) |
651 :iChannelCookie(aChannelCookie), iNewStyle(aNewStyle), iMaxFragmentSize(aMaxFragmentSize) |
623 {} |
652 {} |
688 EIsrRedoRequest, |
717 EIsrRedoRequest, |
689 ECancelAllChannel, |
718 ECancelAllChannel, |
690 EQueueRequestWithReque, |
719 EQueueRequestWithReque, |
691 ELinkChannel, |
720 ELinkChannel, |
692 EUnlinkChannel, |
721 EUnlinkChannel, |
|
722 EEnableDstElementCounting, |
|
723 EEnableSrcElementCounting, |
|
724 EDisableDstElementCounting, |
|
725 EDisableSrcElementCounting, |
|
726 ETotalNumDstElementsTransferred, |
|
727 ETotalNumSrcElementsTransferred, |
693 }; |
728 }; |
694 }; |
729 }; |
695 #endif // __D_DMA2_H__ |
730 #endif // __D_DMA2_H__ |