2003-09-29 17:04:38

by Luca

[permalink] [raw]
Subject: [2.6.0-test6] Troubles with ALSA via82xx

Hi,

I have trouble with linux-2.6.0-test6 and via82xx. With default
parameters I'm unable to play sound. I've tracked down the problem to
this change:

- use dxs_support=3 (48k fixed) as default, since there are so many
problems with dxs_support=0.

Loading module I see this:

via82xx: Assuming DXS channels with 48k fixed sample rate.
Please try dxs_support=1 option and report if it works on your machine.
PCI: Setting latency timer of device 0000:00:11.5 to 64

and when I try to play anything the player locks and I see the
following messages:

ALSA sound/core/pcm_lib.c:2156: playback write error (DMA or IRQ trouble?)
ALSA sound/core/pcm_lib.c:2156: playback write error (DMA or IRQ trouble?)
ALSA sound/core/pcm_lib.c:2156: playback write error (DMA or IRQ trouble?)

dxs_support=1 doesn't help since I have a VT8233A. dxs_support=2 is ok.
Looking at the code I see that VT8233A (without dsx) and VT8233 (with
dsx) are selected using dxs_support parameter. Is this the only way to
do it? 2.6.0-t5 worked for me, not sure that this is a bug but at least
it's a regression.

This is my audio device:

00:11.5 Class 0401: 1106:3059 (rev 40)
Subsystem: 1695:3004
Flags: medium devsel, IRQ 5
I/O ports at e000 [size=256]
Capabilities: [c0] Power Management version 2


Luca
--
Reply-To: [email protected]
Home: http://kronoz.cjb.net
Let me make your mind, leave yourself behind
Be not afraid


2003-09-30 10:07:04

by Takashi Iwai

[permalink] [raw]
Subject: Re: [2.6.0-test6] Troubles with ALSA via82xx

At Mon, 29 Sep 2003 19:04:37 +0200,
Kronos wrote:
>
> Hi,
>
> I have trouble with linux-2.6.0-test6 and via82xx. With default
> parameters I'm unable to play sound. I've tracked down the problem to
> this change:
>
> - use dxs_support=3 (48k fixed) as default, since there are so many
> problems with dxs_support=0.
>
> Loading module I see this:
>
> via82xx: Assuming DXS channels with 48k fixed sample rate.
> Please try dxs_support=1 option and report if it works on your machine.
> PCI: Setting latency timer of device 0000:00:11.5 to 64

please try the attached patch?

--
Takashi Iwai <tiwai dot suse.de> ALSA Developer - http://www.alsa-project.org


Attachments:
via8233a-fix.dif (909.00 B)

2003-09-30 14:27:49

by Luca

[permalink] [raw]
Subject: Re: [2.6.0-test6] Troubles with ALSA via82xx


Nell'articolo <[email protected]> hai scritto:
>At Mon, 29 Sep 2003 19:04:37 +0200,
>Kronos wrote:
>>
>> Hi,
>>
>> I have trouble with linux-2.6.0-test6 and via82xx. With default
>> parameters I'm unable to play sound. I've tracked down the problem to
>> this change:
>>
>> - use dxs_support=3 (48k fixed) as default, since there are so many
>> problems with dxs_support=0.
>>
>> Loading module I see this:
>>
>> via82xx: Assuming DXS channels with 48k fixed sample rate.
>> Please try dxs_support=1 option and report if it works on your machine.
>> PCI: Setting latency timer of device 0000:00:11.5 to 64
>
>please try the attached patch?
>
>diff -u -r1.60 via82xx.c
>--- linux/sound/pci/via82xx.c 22 Sep 2003 10:10:29 -0000 1.60
>+++ linux/sound/pci/via82xx.c 30 Sep 2003 10:02:13 -0000
>@@ -2038,16 +2038,17 @@
> break;
> }
> }
>- if (dxs_support[dev] == VIA_DXS_AUTO)
>- dxs_support[dev] = check_dxs_list(pci);
>- /* force to use VIA8233 or 8233A model according to
>- * dxs_support module option
>- */
>- if (dxs_support[dev] == VIA_DXS_DISABLE)
>- chip_type = TYPE_VIA8233A;
>- else
>- chip_type = TYPE_VIA8233;
>-
>+ if (chip_type != TYPE_VIA8233A) {
>+ if (dxs_support[dev] == VIA_DXS_AUTO)
>+ dxs_support[dev] = check_dxs_list(pci);
>+ /* force to use VIA8233 or 8233A model according to
>+ * dxs_support module option
>+ */
>+ if (dxs_support[dev] == VIA_DXS_DISABLE)
>+ chip_type = TYPE_VIA8233A;
>+ else
>+ chip_type = TYPE_VIA8233;
>+ }
> if (chip_type == TYPE_VIA8233A)
> strcpy(card->driver, "VIA8233A");
> else
>

Great, now it works! Thank you.

Luca
--
Reply-To: [email protected]
Home: http://kronoz.cjb.net
Quando un uomo porta dei fiori a sua moglie senza motivo,
un motivo c'e`.