Skip to content

Commit 05a5c27

Browse files
committed
Fix waiting for DMA transfers
1 parent e4158bd commit 05a5c27

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/packet.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,19 +89,19 @@ void CDmaPacket::Send(bool waitForEnd, bool flushCache)
8989
// FlushCache(0);
9090

9191
// clear any memory mappings (this won't work for sp)
92-
dma_channel_fast_waits(dmaChannelId);
92+
dma_channel_wait(dmaChannelId, 1000000);
9393
dma_channel_send_normal(dmaChannelId, (void*)((tU32)pBase & 0x0fffffff), pktQWLength, 0, 0);
9494

9595
if (waitForEnd)
96-
dma_channel_fast_waits(dmaChannelId);
96+
dma_channel_wait(dmaChannelId, 1000000);
9797
}
9898

9999
void CDmaPacket::HexDump(tU32 numQwords)
100100
{
101101
if (numQwords == 0)
102102
numQwords = ((tU32)pNext - (tU32)pBase) / 16;
103103

104-
printf("dumping %d words\n", ((tU32)pNext - (tU32)pBase) / 4);
104+
printf("dumping %d words (%d qwords)\n", ((tU32)pNext - (tU32)pBase) / 4, numQwords);
105105

106106
tU32 i = 0;
107107
for (tU32 *nextWord = (tU32*)pBase; nextWord != (tU32*)pNext; nextWord++, i++) {
@@ -152,11 +152,11 @@ void CSCDmaPacket::Send(bool waitForEnd, bool flushCache)
152152
FlushCache(0);
153153

154154
// clear any memory mappings (this won't work for sp)
155-
dma_channel_fast_waits(dmaChannelId);
155+
dma_channel_wait(dmaChannelId, 1000000);
156156
dma_channel_send_chain(dmaChannelId, (void*)((tU32)pBase & 0x0fffffff), 0, bTTE ? DMA_FLAG_TRANSFERTAG : 0, 0);
157157

158158
if (waitForEnd)
159-
dma_channel_fast_waits(dmaChannelId);
159+
dma_channel_wait(dmaChannelId, 1000000);
160160
}
161161

162162
/********************************************

0 commit comments

Comments
 (0)