Naresh, Part of patch 1875 depends on updates for DM646x which is not yet in the git tree. Since you already put in the effort of debugging and testing for DM644x, lets just push this patch in now. I can submit the rest of the patch in once code for dm646x are in.
Regards, Steve On Mon, 2008-11-03 at 03:38, Medisetty, Naresh wrote: > Steve, > > I looked at the patch 1875 in MV Pro 5.0 kernel and that indeed seems to be > fixing the same issue. The disposition on the patch says "needs submitting to > linux-arm-kernel", so I assume you plan to submit it to arm linux mailing > list soon. Since the issue is getting fixed upstream, we can drop including > this patch in DaVinci GIT > > ________________________________________ > From: Steve Chen [EMAIL PROTECTED] > Sent: Friday, October 31, 2008 4:56 PM > To: Medisetty, Naresh > Cc: [email protected] > Subject: Re: [PATCH] ARM: DaVinci: Audio: Fix the audio stall problem when > doing full-duplex > > Naresh, > > This patch seem to derived from patch level 1875 of the Monta Vista > tree. If you can attach the original patch header, it would be much > appreciated. > > Regards, > > Steve > > On Fri, 2008-10-31 at 01:59, [EMAIL PROTECTED] wrote: > > From: Naresh Medisetty <[EMAIL PROTECTED]> > > > > Fixes the audio stall problem when doing playback and capture at the same > > time. > > > > Signed-off-by: Naresh Medisetty <[EMAIL PROTECTED]> > > --- > > sound/soc/davinci/davinci-i2s.c | 35 ++++++++++++++++++++++++----------- > > 1 files changed, 24 insertions(+), 11 deletions(-) > > > > diff --git a/sound/soc/davinci/davinci-i2s.c > > b/sound/soc/davinci/davinci-i2s.c > > index d8279ad..8b29463 100644 > > --- a/sound/soc/davinci/davinci-i2s.c > > +++ b/sound/soc/davinci/davinci-i2s.c > > @@ -262,17 +262,30 @@ static int davinci_i2s_hw_params(struct > > snd_pcm_substream *substream, > > u32 w; > > > > /* general line settings */ > > - davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_SPCR_REG, > > - DAVINCI_MCBSP_SPCR_RINTM(3) | > > - DAVINCI_MCBSP_SPCR_XINTM(3) | > > - DAVINCI_MCBSP_SPCR_FREE); > > - davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_RCR_REG, > > - DAVINCI_MCBSP_RCR_RFRLEN1(1) | > > - DAVINCI_MCBSP_RCR_RDATDLY(1)); > > - davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_XCR_REG, > > - DAVINCI_MCBSP_XCR_XFRLEN1(1) | > > - DAVINCI_MCBSP_XCR_XDATDLY(1) | > > - DAVINCI_MCBSP_XCR_XFIG); > > + if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) { > > + > > + w = davinci_mcbsp_read_reg(dev, DAVINCI_MCBSP_SPCR_REG); > > + w |= (DAVINCI_MCBSP_SPCR_RINTM(3) | DAVINCI_MCBSP_SPCR_FREE); > > + davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_SPCR_REG, w); > > + > > + w = davinci_mcbsp_read_reg(dev, DAVINCI_MCBSP_RCR_REG); > > + w |= (DAVINCI_MCBSP_RCR_RFRLEN1(1) | > > + DAVINCI_MCBSP_RCR_RDATDLY(1)); > > + davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_RCR_REG, w); > > + > > + } else { > > + > > + w = davinci_mcbsp_read_reg(dev, DAVINCI_MCBSP_SPCR_REG); > > + w |= DAVINCI_MCBSP_SPCR_XINTM(3) | DAVINCI_MCBSP_SPCR_FREE; > > + davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_SPCR_REG, w); > > + > > + w = davinci_mcbsp_read_reg(dev, DAVINCI_MCBSP_XCR_REG); > > + w |= (DAVINCI_MCBSP_XCR_XFRLEN1(1) | > > + DAVINCI_MCBSP_XCR_XDATDLY(1) | > > + DAVINCI_MCBSP_XCR_XFIG); > > + davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_XCR_REG, w); > > + > > + } > > > > i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_SAMPLE_BITS); > > w = davinci_mcbsp_read_reg(dev, DAVINCI_MCBSP_SRGR_REG); _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
