We are porting a WM8900 driver from a 8731 one. It fit quite well our requirements and should not be the same as your dev branch. Sincerely, It didn't know you're working on it.
No problem at all - I was just asking from curiosity.
The most likely issue here is a DMA underrun but from what you say
you
may already have ruled that out? It would be helpful if you could
run
through the debugging you've already done here.
I had traced the addresses sent into PDC (soc/at91-pcm.c), and are
always
the same. What other traces are you looking for ?
Have you checked to make sure that the PDC is not reporting any errors?
at91_pcm_dma_irq (soc/at91/at91-pcm.c) doesn't reports that there is underrun or overruns.
I've seen the same swap behavior with codec configured as slave.