I am using the Input Data Port on the Sharc 21375 to acquire four channels of I2S audio. I have a 2-deep DMA set up for each channel, so that I can process both the left and right sides of the I2S at each interrupt. It is working fine EXCEPT for the fact that it does not consistently begin on one side of the I2S or the other. That is, sometimes when I get the first interrupt, I have in the buffer left side first, right side second. Other times, I have right first, left second. Once the IDP starts running, the order doesn't change, but the order that it 'chooses' when it first begins to run seems arbitrary.
Surely there's a way to select a rising or falling edge or something that I'm overlooking? Possibly a control bit somewhere that I'm not setting?