[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness / Quad codec
From: |
Ryan Underwood |
Subject: |
Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness / Quad codec |
Date: |
Tue, 8 Jul 2003 09:14:06 -0500 |
User-agent: |
Mutt/1.5.4i |
Hi Manuel,
On Mon, Jul 07, 2003 at 09:22:22PM -0400, Manuel Jander wrote:
>
> This is the code i'm using:
>
> if (nr_ch < 4) {
> /* Copy stereo to rear channel (surround) */
> snd_ac97_write_cache(vortex->codec, AC97_SIGMATEL_DAC2INVERT,
> snd_ac97_read(vortex->codec, AC97_SIGMATEL_DAC2INVERT) | 4);
> } else {
> /* Allow separate front a rear channels. */
> snd_ac97_write_cache(vortex->codec, AC97_SIGMATEL_DAC2INVERT,
> snd_ac97_read(vortex->codec, AC97_SIGMATEL_DAC2INVERT) & ~((u32)4));
> }
>
> any suggestions ? How a re you setting that bit ? Would be nice to know
> how, since it works :)
>
> If i read the register 0x6e status back, the changes are visibile. SO it
> actually made it into the hardware. Very strange. I only hope my card
> isnt bad.
Well, here is what I did in the AC97 code:
static const snd_kcontrol_new_t snd_ac97_sigmatel_4speaker =
AC97_SINGLE("Sigmatel 4-Speaker Stereo Playback Switch",
AC97_SIGMATEL_DAC2INVERT, 2, 1, 0);
static const snd_kcontrol_new_t snd_ac97_sigmatel_phaseinvert =
AC97_SINGLE("Sigmatel Surround Phase Inversion Playback Switch",
AC97_SIGMATEL_DAC2INVERT, 3, 1, 0);
and then in the initialization:
if (snd_ac97_try_bit(ac97, AC97_SIGMATEL_DAC2INVERT, 2))
if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_sigmatel_4speaker,
ac97))) < 0)
return err;
if (snd_ac97_try_bit(ac97, AC97_SIGMATEL_DAC2INVERT, 3))
if ((err = snd_ctl_add(card,
snd_ac97_cnew(&snd_ac97_sigmatel_phaseinvert, ac97))) < 0)
return err;
All that does is tries to change D2, if it changes, then the setting is assumed
to be available and is added to alsamixer; same for D3.
Why not check out the ALSA CVS of the ac97_codec.c and give it a try? There
will
simply be a 4-speaker Stereo control that you can toggle on and off to turn
the rear channel on and off, assuming that it is working.
(I have no idea why your code is not working)
--
Ryan Underwood, <nemesis at icequake.net>, icq=10317253
- [Openvortex-dev] Alsa-XMMS buffer time weirdness, Antti Seppälä, 2003/07/05
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness, Taisto Kuikka, 2003/07/05
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness, Stanislav Kogan, 2003/07/05
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness, Stanislav Kogan, 2003/07/05
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness, Taisto Kuikka, 2003/07/05
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness, Stanislav Kogan, 2003/07/05
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness / Quad codec, Manuel Jander, 2003/07/06
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness / Quad codec, Ryan Underwood, 2003/07/06
- Message not available
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness / Quad codec, Ryan Underwood, 2003/07/06
- Message not available
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness / Quad codec, Ryan Underwood, 2003/07/07
- Message not available
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness / Quad codec,
Ryan Underwood <=
- Message not available
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness / Quad codec, Ryan Underwood, 2003/07/10
- Re: [Openvortex-dev] Alsa-XMMS buffer time weirdness / Quad codec, Stanislav Kogan, 2003/07/06