DMA issues with IPIF on V2P

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);

Reply to
el_boricua
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.