[alsa-devel] [PATCH] To avoid the divide by zero error during the first execution, initialize the data type.

Mani, Arun avm at ti.com
Wed Sep 9 23:07:44 CEST 2009


It indeed gets initialized in the hw_params. But the runtime dma parameters are not populated with the substream private data information that is gets in hw_params for the first time. I am not sure why. Any ideas?



Thanks,
Arun.

> -----Original Message-----
> From: Troy Kisky [mailto:troy.kisky at boundarydevices.com]
> Sent: Wednesday, September 09, 2009 4:47 PM
> To: Mani, Arun
> Cc: davinci-linux-open-source at linux.davincidsp.com; alsa-devel at alsa-
> project.org; Arun Mani
> Subject: Re: [PATCH] To avoid the divide by zero error during the first
> execution, initialize the data type.
> 
> avm at ti.com wrote:
> > From: Arun Mani <a0270733 at gtcx26221.gt.design.ti.com>
> >
> > Signed-off-by: Arun Mani <a0270733 at gtcx26221.gt.design.ti.com>
> > ---
> >  sound/soc/davinci/davinci-i2s.c |    2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/sound/soc/davinci/davinci-i2s.c
> b/sound/soc/davinci/davinci-i2s.c
> > index b1ea52f..61b1763 100644
> > --- a/sound/soc/davinci/davinci-i2s.c
> > +++ b/sound/soc/davinci/davinci-i2s.c
> > @@ -104,10 +104,12 @@ enum {
> >
> >  static struct davinci_pcm_dma_params davinci_i2s_pcm_out = {
> >  	.name = "I2S PCM Stereo out",
> > +	.data_type = 2, //Initialize the data type for playback to avoid
> divide by zero
> 
> You should have ".acnt = 2" also for consistency.
> >  };
> >
> >  static struct davinci_pcm_dma_params davinci_i2s_pcm_in = {
> >  	.name = "I2S PCM Stereo in",
> > +	.data_type = 2, //Initialize the data type for playback to avoid
> divide by zero
> >  };
> >
> >  struct davinci_mcbsp_dev {
> 
> And if the 1st stream is an 8-bit audio stream, will it initialize it
> incorrectly ???
> Of course, we have formats = SNDRV_PCM_FMTBIT_S16_LE, currently so it's
> not an issue yet...
> 
> I don't see how data_type is not being set in davinci_i2s_hw_params
> before being used in davinci_pcm_prepare.
> 
> Can prepare be called before hw_params ?
> 
> There is a "return -EINVAL" in davinci_i2s_hw_params with a
> "printk(KERN_WARNING "davinci-i2s: unsupported PCM format\n")" before it.
> 
> Do you see this message in your log ?
> 
> 
> Thanks
> Troy
> 



More information about the Alsa-devel mailing list