Wednesday 10 June 2009 12:53:42 Peter Ujfalusi napisał(a): > On Wednesday 10 June 2009 13:27:38 ext Janusz Krzysztofik wrote: > Just out of curiosity, can you try this one as well: > > --- a/sound/soc/omap/omap-mcbsp.c > +++ b/sound/soc/omap/omap-mcbsp.c > @@ -191,6 +191,7 @@ static int omap_mcbsp_dai_trigger(struct > snd_pcm_substream *substream, int cmd, > case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: > if (!mcbsp_data->active++) > omap_mcbsp_start(mcbsp_data->bus_id); > + omap_mcbsp_pollwrite(mcbsp_data->bus_id, 0xdb55); > break; > > basically write 0xdb55 to the DXR1 register (0xdb55 is 1101101101010101) > With this, if McBSP is operating correctly you should be seeing this > pattern going to the codec. Peter, I am not sure how did you expect me to see this pattern. On a scope screen? Unforunatelly I had to return the scope this morning. I have further modified the code like this: @@ -25,6 +25,7 @@ #include <linux/init.h> #include <linux/module.h> #include <linux/device.h> +#include <linux/random.h> #include <sound/core.h> #include <sound/pcm.h> #include <sound/pcm_params.h> @@ -186,7 +186,7 @@ static int omap_mcbsp_dai_trigger(struct snd_pcm_substream *substream, int cmd, struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai; struct omap_mcbsp_data *mcbsp_data = to_mcbsp(cpu_dai->private_data); - int err = 0; + int i, err = 0; switch (cmd) { case SNDRV_PCM_TRIGGER_START: @@ -191,6 +191,8 @@ static int omap_mcbsp_dai_trigger(struct snd_pcm_substream *substream, int cmd, case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: if (!mcbsp_data->active++) omap_mcbsp_start(mcbsp_data->bus_id); + for (i = 8000; i > 0; i--) + omap_mcbsp_pollwrite(mcbsp_data->bus_id, (u16)random32 ()); break; case SNDRV_PCM_TRIGGER_STOP: in hope I should be able to hear a noise for one second, shouldn't I. > If it does, than we have some problems with the > McBSP/DMA cooperation, if this pattern is not seen on the bus, than the > McBSP is not shifting data out for some reason. Now aplay returns 1 second later than before, so I conclude the loop is processed correctly. However, I am not able to hear a single ripple nor see any error messages from omap_mcbsp_pollwrite() :(, so it looks like the latter is more probable. Janusz -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html