linux-mips
[Top] [All Lists]

Re: Trouble with sound/mips/au1x00.c AC97 driver

To: "Freddy Spierenburg" <freddy@dusktilldawn.nl>
Subject: Re: Trouble with sound/mips/au1x00.c AC97 driver
From: "Marco Braga" <marco.braga@gmail.com>
Date: Sat, 10 Mar 2007 14:20:27 +0100
Cc: linux-mips@linux-mips.org
Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=o5bqfyZUbcGhxoKlcFZ7MZycm7bNM5Md2E4FUirHx/+qfkcnHPqqt51lWEschy6JnaMEijyu4LtU7QHd2ayOtbP63tvGeaE4npd8KUKtGhzdMQj+pGnZLPeuYj5wNvZNt3SiqT00qktBfXu44epKZec2jkPrXK8raGFaTOcYHlM=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=frWxhPCgubyq1gjZnuUB+G8zr6LK+2O96sRW6GsJ9mROvR2V9zutjz61WCS0vFOjA03LBCQ1ZOq0W2Ik4JWhhtw3mduW2iQzGTXMMvS5e8zrwoeCHJkVRAXMkMVSUBuOGSjK23beNErleMqLVk72UH0Ng7Ltw2s38xmKDqaMNjU=
In-reply-to: <20070309103307.GI25248@dusktilldawn.nl>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20070307104930.GD25248@dusktilldawn.nl> <d459bb380703082322r18879381ma4c57149a8b7adfe@mail.gmail.com> <20070309103307.GI25248@dusktilldawn.nl>
Sender: linux-mips-bounce@linux-mips.org
Hello Freddy,

Friday I've had some time to explore the problem. My current experience is with an Au1500 based custom board. I've compiled the ALSA modules for the integrated AC97 in kernel 2.6.17.14. I've still not noticed the problem with the missing controls, but my most frequent issue is with the "AC'97 0 access error (not audio or modem codec)" error message. Notice that when this message is issued the module is not loaded, so I have to reload it.

At the moment the only solution for this problem is to force a device reset during the board setup. Strange enough, it is exactly the same thing done in the module with the lines:

    /* Initialise Au1000's AC'97 Control Block */
    au1000->ac97_ioport->cntrl = AC97C_RS | AC97C_CE;
    udelay(10);
    au1000->ac97_ioport->cntrl = AC97C_CE;
    udelay(10);

Perhaps the delays are not correct, and doing them in the board setup (at kernel start) leaves enought time for the clocks to stabilize (just guessing).

Basically you have to play with bits 0 and 1 in the device control register (0xB000 0010).

I'll check the issue again next monday, but I am for sure not a kernel guru.


<Prev in Thread] Current Thread [Next in Thread>