DMA issues with IPIF on V2P

Aug 25, 2005 0 Replies

Hello,



For some reason the DMA drivers generated by the EDK 7.1 for my core write the same word twice when the buffer is of two words. For example I discovered that the DMA would write for rthe source buffer value of:



0xE5C7CDDE872BF27C it will write to the destination: 0xE5C7CDDEE5C7CDDE (note that it write the values from index =3D 0 to index =3D 3 twice) Can someone give me some insight into what is happenning?

Thanks Here is the code:



Xuint8 SrcBuffer[MULTI_DES_SELFTEST_B=ADUFSIZE] Xuint8 DstBuffer[MULTI_DES_SELFTEST_B=ADUFSIZE]


// SrcBuffer is initialize via a loop to contain '0xE5C7CDDE872BF27C'


for( Index =3D 0; Index < MULTI_DES_SELFTEST_BUFSIZE; Index + 8) { SrcBuffer[ Index ] =3D 0xE5; SrcBuffer[ Index + 1 ] =3D 0xC7; SrcBuffer[ Index + 2 ] =3D 0xCD; SrcBuffer[ Index + 3 ] =3D 0xDE; SrcBuffer[ Index + 4 ] =3D 0x87; SrcBuffer[ Index + 5 ] =3D 0x2B; SrcBuffer[ Index + 6 ] =3D 0xF2; SrcBuffer[ Index + 7 ] =3D 0x7C;


}


// THe DstBuffer is initialize to zeroes .=2E.



// The DMA is reset MULTI_DES_mResetDMA0(baseaddr)=AD;


// The DMA setup MULTI_DES_mSetDMA0Control(base=ADaddr, DMA_SINC_MASK | DMA_LOCAL_MASK );


// DMA transfer MULTI_DES_DMA0Transfer( baseaddr, baseaddr + MULTI_DES_WRFIFO_DATA_OFFSET, MULTI_DES_SELTEST_BUFSIZE);



Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required