Re: [PATCH V3 2/4] AC97 driver for mpc5200

2009-05-25 Thread Grant Likely
On Mon, May 25, 2009 at 9:21 AM, Jon Smirl wrote: > On Mon, May 25, 2009 at 6:26 AM, Mark Brown > wrote: >>> +             spin_lock(&psc_dma->lock); >>> +             out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots); >>> +             spin_unlock(&psc_dma->lock); >>> +             break;

Re: [PATCH V3 2/4] AC97 driver for mpc5200

2009-05-25 Thread Grant Likely
On Mon, May 25, 2009 at 9:15 AM, Jon Smirl wrote: > On Mon, May 25, 2009 at 2:16 AM, Grant Likely > wrote: >> On Sun, May 24, 2009 at 7:38 PM, Jon Smirl wrote: >>> +static unsigned short psc_ac97_read(struct snd_ac97 *ac97, unsigned short >>> reg) >>> +{ >>> +       int timeout; >>> +       un

Re: [PATCH V3 2/4] AC97 driver for mpc5200

2009-05-25 Thread Mark Brown
On Mon, May 25, 2009 at 11:15:34AM -0400, Jon Smirl wrote: > The link always runs at 12.288Mhz. Each frame is 256 bits. Worst case > you wait for two frames, 42us. If it doesn't respond in 42us the codec Note that some embedded systems will choose to vary the AC97 link clock. The most common case

Re: [PATCH V3 2/4] AC97 driver for mpc5200

2009-05-25 Thread Jon Smirl
On Mon, May 25, 2009 at 6:26 AM, Mark Brown wrote: >> +             spin_lock(&psc_dma->lock); >> +             out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots); >> +             spin_unlock(&psc_dma->lock); >> +             break; > > This locking looks wrong - I'd expect it to also cover

Re: [PATCH V3 2/4] AC97 driver for mpc5200

2009-05-25 Thread Jon Smirl
On Mon, May 25, 2009 at 2:16 AM, Grant Likely wrote: > On Sun, May 24, 2009 at 7:38 PM, Jon Smirl wrote: >> +static unsigned short psc_ac97_read(struct snd_ac97 *ac97, unsigned short >> reg) >> +{ >> +       int timeout; >> +       unsigned int val; >> + >> +       spin_lock(&psc_dma->lock); >>

Re: [PATCH V3 2/4] AC97 driver for mpc5200

2009-05-25 Thread Mark Brown
On Sun, May 24, 2009 at 09:38:49PM -0400, Jon Smirl wrote: > I've implemented retries for when the AC97 hardware doesn't reset on > first try. About 10% of the time both the Efika and pcm030 AC97 codecs > don't reset on first try and need to be poked multiple times. Failure > is indicated by not

Re: [PATCH V3 2/4] AC97 driver for mpc5200

2009-05-24 Thread Grant Likely
On Sun, May 24, 2009 at 7:38 PM, Jon Smirl wrote: > AC97 driver for mpc5200 > > I've implemented retries for when the AC97 hardware doesn't reset on > first try. About 10% of the time both the Efika and pcm030 AC97 codecs > don't reset on first try and need to be poked multiple times.  Failure > i

[PATCH V3 2/4] AC97 driver for mpc5200

2009-05-24 Thread Jon Smirl
AC97 driver for mpc5200 I've implemented retries for when the AC97 hardware doesn't reset on first try. About 10% of the time both the Efika and pcm030 AC97 codecs don't reset on first try and need to be poked multiple times. Failure is indicated by not having the link clock start ticking. Every