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;
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
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
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
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);
>>
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
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
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