[alsa-devel] ASoC: Merging at91 and avr32 dirs - test report

ext-jukka.hynninen at vaisala.com ext-jukka.hynninen at vaisala.com
Fri Oct 10 17:15:17 CEST 2008

I tested the patches and got everything working with minor changes.

However, there seems to be some problem with PM, occasionally ASoC is
stuck with Standby mode (looking at dapm_widgets) when I start the
playback. Restarting the player brings the sound back. I'll carry out
some further investigation and get back to this.

My kernel is 2.6.27-rc3, and machine driver is adapted from
playpaq_wm8510.c to run on at91rm9200 board.

The SSC peripheral clock was disabled more often than it was enabled,
and that catched the bug trap in arch/arm/mach-at91/clock.c. I'm not
sure if this was the real problem, but it's the way I managed to solve


diff -uprN a/sound/soc/atmel/atmel_ssc_dai.c
--- a/sound/soc/atmel/atmel_ssc_dai.c   2008-10-10 17:23:46.000000000
+++ b/sound/soc/atmel/atmel_ssc_dai.c   2008-10-10 17:26:06.000000000
@@ -261,11 +261,11 @@ static void atmel_ssc_shutdown(struct sn
        ssc_p->dir_mask &= ~dir_mask;
        if (!ssc_p->dir_mask) {
-               /* Shutdown the SSC clock. */
-               pr_debug("atmel_ssc_dau: Stopping clock\n");
-               clk_disable(ssc_p->ssc->clk);
                if (ssc_p->initialized) {
+                       /* Shutdown the SSC clock. */
+                       pr_debug("atmel_ssc_dai: Stopping clock\n");
+                       clk_disable(ssc_p->ssc->clk);
                        free_irq(ssc_p->ssc->irq, ssc_p);
                        ssc_p->initialized = 0;

More information about the Alsa-devel mailing list