I recently discovered this way of performing waits for DMA transfers on the PS2. Instead of polling for the channel control status, you can set the priority control register to output the DMA status to COP0 and poll from there, to save bandwidth. Quite an interesting method.