/* wait for all dma is done. NOTE: caller should reset card->running before call. If not, the interrupt handler will re-start DMA, then DMA is never stopped.  */
static void snd_ps3_wait_for_dma_stop(struct snd_ps3_card_info *card)
/* wait for all dma is done. NOTE: caller should reset card->running before call. If not, the interrupt handler will re-start DMA, then DMA is never stopped.  */
static void snd_ps3_wait_for_dma_stop(struct snd_ps3_card_info *card)
{
	int stop_forced;
	stop_forced = snd_ps3_verify_dma_stop(card, 700, 1);
	update_reg(PS3_AUDIO_INTR_0, 0);
	update_reg(PS3_AUDIO_AX_IS, 0);
	if (stop_forced)
		update_mask_reg(PS3_AUDIO_CONFIG, ~PS3_AUDIO_CONFIG_CLEAR, 0);
	wmb();
}