kernel/eka/include/drivers/dma_hai.h
changeset 243 c7a0ce20c48c
parent 199 189ece41fa29
equal deleted inserted replaced
231:75252ea6123b 243:c7a0ce20c48c
   894 
   894 
   895 	@prototype
   895 	@prototype
   896 */
   896 */
   897 class TDmaAsymSgChannel : public TDmaChannel
   897 class TDmaAsymSgChannel : public TDmaChannel
   898 	{
   898 	{
       
   899 public:
       
   900 	TDmaAsymSgChannel();
       
   901 
   899 private:
   902 private:
   900 	virtual void DoQueue(const DDmaRequest& aReq);
   903 	virtual void DoQueue(const DDmaRequest& aReq);
   901 	virtual void DoCancelAll();
   904 	virtual void DoCancelAll();
   902 	virtual void DoUnlink(SDmaDesHdr& aHdr);
   905 	virtual void DoUnlink(SDmaDesHdr& aHdr);
   903 	virtual void DoDfc(const DDmaRequest& aCurReq, SDmaDesHdr*& aSrcCompletedHdr,
   906 	virtual void DoDfc(const DDmaRequest& aCurReq, SDmaDesHdr*& aSrcCompletedHdr,
   904 					   SDmaDesHdr*& aDstCompletedHdr);
   907 					   SDmaDesHdr*& aDstCompletedHdr);
       
   908 	virtual void SetNullPtr(const DDmaRequest& aReq);
       
   909 	virtual void ResetNullPtr();
   905 
   910 
   906 protected:
   911 protected:
   907 	SDmaDesHdr* iSrcCurHdr;	  // source fragment being transferred or NULL
   912 	SDmaDesHdr* iSrcCurHdr;	  // source fragment being transferred or NULL
   908 	SDmaDesHdr** iSrcNullPtr; // Pointer to NULL pointer following last source fragment
   913 	SDmaDesHdr** iSrcNullPtr; // Pointer to NULL pointer following last source fragment
   909 	SDmaDesHdr* iDstCurHdr;	  // destination fragment being transferred or NULL
   914 	SDmaDesHdr* iDstCurHdr;	  // destination fragment being transferred or NULL
   910 	SDmaDesHdr** iDstNullPtr; // Pointer to NULL pointer following last destination fragment
   915 	SDmaDesHdr** iDstNullPtr; // Pointer to NULL pointer following last destination fragment
   911 	enum {EIdle = 0, ETransferring} iState;
   916 	enum {EIdle = 0, ETransferring} iState;
       
   917 
       
   918 	__DMA_DECLARE_VIRTUAL_INVARIANT
   912 	};
   919 	};
   913 
   920 
   914 
   921 
   915 //////////////////////////////////////////////////////////////////////////////
   922 //////////////////////////////////////////////////////////////////////////////
   916 
   923