All of lore.kernel.org
 help / color / mirror / Atom feed
* [Survey] headphone <-> master volume swap -- which codec chip?
@ 2003-01-24 10:06 Takashi Iwai
       [not found] ` <3E311B10.6070901@esat.kuleuven.ac.be>
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Takashi Iwai @ 2003-01-24 10:06 UTC (permalink / raw)
  To: alsa-devel; +Cc: alsa-user

Hi all,

there have been bug-reports regarding to the swapping of headphone
and master volumes.
i'd like to ask you to check which AC97 codec chip is used on which
board (or laptop) if you have such a problem.  if this happens only on
a certain chip model, we can add a quirk for that.

please check the following and send to alsa-devel ML or to me.

1. ALSA driver version
2. lspci -v  (for the soundchip only)
3. lspci -n  (for the soundchip only)
4. output of /proc/asound/cards
5. output of /proc/asound/card0/ac97#0
6. output of /proc/asound/card0/ac97#0regs


thanks in advance.


ciao,

Takashi


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Survey] headphone <-> master volume swap -- which codec chip?
       [not found] ` <3E311B10.6070901@esat.kuleuven.ac.be>
@ 2003-01-24 11:00   ` Takashi Iwai
       [not found]     ` <3E312127.6020500@esat.kuleuven.ac.be>
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2003-01-24 11:00 UTC (permalink / raw)
  To: Pieter Palmers; +Cc: alsa-devel, alsa-user

At Fri, 24 Jan 2003 11:53:04 +0100,
Pieter Palmers wrote:
> 
> I experience another problem regarding AC97. I have a Maestro2e based 
> board, with an ESS ES1918 codec attached. But the AC97 code seems to 
> recorgnise it as a Sigmatel Codec.

this seems somehow irrelevant, but i can check if you give me the
output of ac97#0 and ac97#0regs proc files.


Takashi


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Survey] headphone <-> master volume swap -- which codec chip?
  2003-01-24 10:06 [Survey] headphone <-> master volume swap -- which codec chip? Takashi Iwai
       [not found] ` <3E311B10.6070901@esat.kuleuven.ac.be>
@ 2003-01-24 11:16 ` Jaroslav Kysela
  2003-01-24 11:27   ` Takashi Iwai
  2003-01-24 17:09 ` Takashi Iwai
  2 siblings, 1 reply; 9+ messages in thread
From: Jaroslav Kysela @ 2003-01-24 11:16 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel@lists.sourceforge.net

On Fri, 24 Jan 2003, Takashi Iwai wrote:

> Hi all,
> 
> there have been bug-reports regarding to the swapping of headphone
> and master volumes.
> i'd like to ask you to check which AC97 codec chip is used on which
> board (or laptop) if you have such a problem.  if this happens only on
> a certain chip model, we can add a quirk for that.

Takashi, this quirk can be done only by detection of subvendor and 
subsystem from the PCI ID space. It's absolutely irrelevant which AC97 
chip is used. Vendor might wire codec in any way. Also, some codecs may 
swap line-out / headphone out via registers.

						Jaroslav

-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs



-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Survey] headphone <-> master volume swap -- which codec chip?
  2003-01-24 11:16 ` Jaroslav Kysela
@ 2003-01-24 11:27   ` Takashi Iwai
  2003-01-24 12:41     ` Pieter Palmers
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2003-01-24 11:27 UTC (permalink / raw)
  To: Jaroslav Kysela; +Cc: alsa-devel@lists.sourceforge.net

At Fri, 24 Jan 2003 12:16:00 +0100 (CET),
Jaroslav wrote:
> 
> On Fri, 24 Jan 2003, Takashi Iwai wrote:
> 
> > Hi all,
> > 
> > there have been bug-reports regarding to the swapping of headphone
> > and master volumes.
> > i'd like to ask you to check which AC97 codec chip is used on which
> > board (or laptop) if you have such a problem.  if this happens only on
> > a certain chip model, we can add a quirk for that.
> 
> Takashi, this quirk can be done only by detection of subvendor and 
> subsystem from the PCI ID space.

yeah, the lspci output is on the query list.

> It's absolutely irrelevant which AC97 
> chip is used.

really?  i believe this happens only on certain ac97 chips.
for example, ALC202 spec says that ALC202A uses the headphone volume
as the "true line out" volume.  so, apparently, some ac97 chips
"recommend" this behavior.  let's see...

> Vendor might wire codec in any way. Also, some codecs may 
> swap line-out / headphone out via registers.

this is a different case, imo.
the problem is that we have no chance to detect/switch them, either
manually or automatically.

a general solution would be to add an ac97 control switch to swap
them.  then the accssed registers are exchanged internally according 
to this control.

but it isn't bad to know which chips and which machines have this
problem, so that we can add quirks to turn on this switch
automatically.


Takashi


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Survey] headphone <-> master volume swap -- which codec chip?
  2003-01-24 11:27   ` Takashi Iwai
@ 2003-01-24 12:41     ` Pieter Palmers
  2003-01-24 14:41       ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: Pieter Palmers @ 2003-01-24 12:41 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jaroslav Kysela, alsa-devel@lists.sourceforge.net

I took a look at the Intel AC97 2.2 specs. It seems that the behaviour
described here is a AC97 2.2 recommendation. take a look at 1 & 2 of 5.2.1.

Pieter

--------------------------------------------

AC `97 Component Specification  Revision 2.2   September 2000

5.2 LINE_OUT and AUX_OUT

AC `97 audio Codecs support two independently controlled stereo outputs:
     1. The master output, labeled LINE_OUT, uses pins 35, 36 for L and R
(48 pin QFP package) and is controlled by the Master Volume Register
02h.  No changes have been made to LINE_OUT definitions.
     2. A second output, originally defined as HP_OUT, uses pins 39, 40,
and 41 for L, Common, and R (48-pin QFP  package) was re-defined as
LNLVL_OUT for AC `97 2.1, and is controlled by optional volume Register
04h.  In addition to the HP and LNLVL definitions, 4-channel Codecs
typically utilize pins 39 and 41 for the  additional (i.e. L & R
Surround) outputs.

5.2.1 AUX_OUT Options
As identified in the previous section, there are three common uses for
AC `97's second output.  AC `97 2.2  addresses all three uses by
renaming the second output as AUX_OUT, Register 04h as Aux Out Volume,
and the pins as AUX_OUT_L, AUX_OUT_C, and AUX_OUT_R.

Driver developers should be aware that the AC `97 AUX_OUT may be
implemented in one of three ways:

     1.True line level out.Support for a true consumer
equipment-compatible (10 k\Omega ) line level output that does not
change with master volume settings. Either fixed or fixable via the
independent volume controls in Register 04h, the output level provides a
1V RMS (2.8 V peak-to-peak) output level for a 0 dB gain PCM output
stream. When implemented this way, AUX_OUT is equivalent to AC `97 2.1's
LNLVL_OUT definitions.

     2.Headphone out.  AUX_OUT can be implemented to support integrated
headphone amplifier with 32 \Omega  drive capability and independent
volume control via Register 04h.  When implemented this way, AUX_OUT is
equivalent to AC `97 1.03 original HP_OUT definitions

     3. 4-Channel out.  In Codecs that support 4-channel operation,
AUX_OUT can be implemented to support the  additional (i.e. L&R
Surround) outputs. When implemented this way, AUX_OUT will be referred
to 4CH_OUT.  In 4CH_OUT implementations, L and R Surround output is
controlled via Surround Volume  Register 38h, not Aux Out Volume 04h,
and powered down via the PRJ (SDAC) bit in Register 2Ah.

AUX_OUT defaults to be LNLVL_OUT unless HP_OUT or 4CH_OUT support is
detected.  Unless the specific  Codec configuration is indicated via INF
file, driver writers should use the following methods for detecting a
specialized Codec with HP_OUT or 4CH_OUT capabilities:

* HP_OUT capability can be detected via Reset/ID Register 00h, ID bit 4
and the Aux Out Volume Register 04h default value reads "8000h" (i.e.
implemented). ID4 is no longer used to indicate LNLVL support.
* 4CH output capability can be detected via the Extended Audio ID
Register 28h, SDAC ID bit 7, and a Surround Volume Register 38h default
of "8080h" (i.e. implemented).

HP and LNLVL implementations of AUX_OUT external output are powered down
via bit PR6 in Register 26h.

--------------------------------------



Takashi Iwai wrote:

 >At Fri, 24 Jan 2003 12:16:00 +0100 (CET),
 >Jaroslav wrote:
 >
 >
 >>On Fri, 24 Jan 2003, Takashi Iwai wrote:
 >>
 >>
 >>
 >>>Hi all,
 >>>
 >>>there have been bug-reports regarding to the swapping of headphone
 >>>and master volumes.
 >>>i'd like to ask you to check which AC97 codec chip is used on which
 >>>board (or laptop) if you have such a problem.  if this happens only on
 >>>a certain chip model, we can add a quirk for that.
 >>>
 >>>
 >>Takashi, this quirk can be done only by detection of subvendor and
 >>subsystem from the PCI ID space.
 >>
 >>
 >
 >yeah, the lspci output is on the query list.
 >
 >
 >
 >>It's absolutely irrelevant which AC97
 >>chip is used.
 >>
 >>
 >
 >really?  i believe this happens only on certain ac97 chips.
 >for example, ALC202 spec says that ALC202A uses the headphone volume
 >as the "true line out" volume.  so, apparently, some ac97 chips
 >"recommend" this behavior.  let's see...
 >
 >
 >
 >>Vendor might wire codec in any way. Also, some codecs may
 >>swap line-out / headphone out via registers.
 >>
 >>
 >
 >this is a different case, imo.
 >the problem is that we have no chance to detect/switch them, either
 >manually or automatically.
 >
 >a general solution would be to add an ac97 control switch to swap
 >them.  then the accssed registers are exchanged internally according
 >to this control.
 >
 >but it isn't bad to know which chips and which machines have this
 >problem, so that we can add quirks to turn on this switch
 >automatically.
 >
 >
 >Takashi
 >
 >
 >-------------------------------------------------------
 >This SF.NET email is sponsored by:
 >SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
 >http://www.vasoftware.com
 >_______________________________________________
 >Alsa-devel mailing list
 >Alsa-devel@lists.sourceforge.net
 >https://lists.sourceforge.net/lists/listinfo/alsa-devel
 >
 >
 >






-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Survey] headphone <-> master volume swap -- which codec chip?
  2003-01-24 12:41     ` Pieter Palmers
@ 2003-01-24 14:41       ` Takashi Iwai
  2003-01-24 15:48         ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2003-01-24 14:41 UTC (permalink / raw)
  To: Pieter Palmers; +Cc: Jaroslav Kysela, alsa-devel@lists.sourceforge.net

Hi,

At Fri, 24 Jan 2003 13:41:29 +0100,
Pieter Palmers wrote:
> 
> I took a look at the Intel AC97 2.2 specs. It seems that the behaviour
> described here is a AC97 2.2 recommendation. take a look at 1 & 2 of 5.2.1.

thanks!

> 5.2.1 AUX_OUT Options
> As identified in the previous section, there are three common uses for
> AC `97's second output.  AC `97 2.2  addresses all three uses by
> renaming the second output as AUX_OUT, Register 04h as Aux Out Volume,
> and the pins as AUX_OUT_L, AUX_OUT_C, and AUX_OUT_R.
> 
> Driver developers should be aware that the AC `97 AUX_OUT may be
> implemented in one of three ways:
> 
>      1.True line level out.Support for a true consumer
> equipment-compatible (10 k\Omega ) line level output that does not
> change with master volume settings. Either fixed or fixable via the
> independent volume controls in Register 04h, the output level provides a
> 1V RMS (2.8 V peak-to-peak) output level for a 0 dB gain PCM output
> stream. When implemented this way, AUX_OUT is equivalent to AC `97 2.1's
> LNLVL_OUT definitions.
> 
>      2.Headphone out.  AUX_OUT can be implemented to support integrated
> headphone amplifier with 32 \Omega  drive capability and independent
> volume control via Register 04h.  When implemented this way, AUX_OUT is
> equivalent to AC `97 1.03 original HP_OUT definitions
> 
>      3. 4-Channel out.  In Codecs that support 4-channel operation,
> AUX_OUT can be implemented to support the  additional (i.e. L&R
> Surround) outputs. When implemented this way, AUX_OUT will be referred
> to 4CH_OUT.  In 4CH_OUT implementations, L and R Surround output is
> controlled via Surround Volume  Register 38h, not Aux Out Volume 04h,
> and powered down via the PRJ (SDAC) bit in Register 2Ah.
> 
> AUX_OUT defaults to be LNLVL_OUT unless HP_OUT or 4CH_OUT support is
> detected.

hmm, then we need to implement the controls for the register 0x04 even
if RESET/ID4 is 0..?   currently, we build them only when RESET/ID4 is
detected.  but i've not known which chip has LNLVL without RESET/ID4.
needs to check the spec for each chip.

confusingly, there are ac97 chips which sets RESET/ID4 but uses
AUX_OUT as LNLVL, such as ALC200, ALC201A or ALC202A.
and on these chips, we have the problem as $SUBJECT states.

furthremore, ALC201/2 uses it as HP_OUT, even though they have the
same id as ALC201/2A! in this case, we need to check PCI subdev ID...


Takashi


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Survey] headphone <-> master volume swap -- which codec chip?
  2003-01-24 14:41       ` Takashi Iwai
@ 2003-01-24 15:48         ` Takashi Iwai
  0 siblings, 0 replies; 9+ messages in thread
From: Takashi Iwai @ 2003-01-24 15:48 UTC (permalink / raw)
  To: Pieter Palmers; +Cc: Jaroslav Kysela, alsa-devel@lists.sourceforge.net

At Fri, 24 Jan 2003 15:41:12 +0100,
I wrote:
> 
> hmm, then we need to implement the controls for the register 0x04 even
> if RESET/ID4 is 0..?   currently, we build them only when RESET/ID4 is
> detected.  but i've not known which chip has LNLVL without RESET/ID4.
> needs to check the spec for each chip.
 
also, we need to think of a new control name for LNLVL (true line
out).  "True Line Out Playback"?  it sounds too techincal...


Takashi


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Survey] headphone <-> master volume swap -- which codec chip?
  2003-01-24 10:06 [Survey] headphone <-> master volume swap -- which codec chip? Takashi Iwai
       [not found] ` <3E311B10.6070901@esat.kuleuven.ac.be>
  2003-01-24 11:16 ` Jaroslav Kysela
@ 2003-01-24 17:09 ` Takashi Iwai
  2 siblings, 0 replies; 9+ messages in thread
From: Takashi Iwai @ 2003-01-24 17:09 UTC (permalink / raw)
  To: alsa-devel; +Cc: alsa-user

At Fri, 24 Jan 2003 11:06:09 +0100,
I wrote:
> 
> please check the following and send to alsa-devel ML or to me.
> 
> 1. ALSA driver version
> 2. lspci -v  (for the soundchip only)
> 3. lspci -n  (for the soundchip only)

correction:
please run wiht -v option here (otherwise no sub-id will be shown).

     lspci -nv


thanks,

Takashi


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Survey] headphone <-> master volume swap -- which codec chip?
       [not found]     ` <3E312127.6020500@esat.kuleuven.ac.be>
@ 2003-01-27 11:15       ` Takashi Iwai
  0 siblings, 0 replies; 9+ messages in thread
From: Takashi Iwai @ 2003-01-27 11:15 UTC (permalink / raw)
  To: Pieter Palmers; +Cc: alsa-devel

At Fri, 24 Jan 2003 12:19:03 +0100,
Pieter Palmers wrote:
> 
> Takashi Iwai wrote:
> 
> >At Fri, 24 Jan 2003 11:53:04 +0100,
> >Pieter Palmers wrote:
> >  
> >
> >>I experience another problem regarding AC97. I have a Maestro2e based 
> >>board, with an ESS ES1918 codec attached. But the AC97 code seems to 
> >>recorgnise it as a Sigmatel Codec.
> >>    
> >>
> >
> >this seems somehow irrelevant, but i can check if you give me the
> >output of ac97#0 and ac97#0regs proc files.
> >
> >
> >Takashi
> >
> 
> it isn't much of a problem, but for the fact that chip-specific controls 
> aren't built correctly. For example: I get a 'surround volume' controle, 
> whilst the codec has only one DAC. Also I have 3D controls, a feature 
> that isn't present on the codec.
 
well, EXTID (0x28) shows actually the bit 0x80, which means that the
chip has surround support.  this is really a system-dependent quirk.

> The fact is that the VID registers indicate that it is a Sigmatel 
> codec... maybe ESS just put their stamp on a sigmatel codec?

yeah, perhaps an OEM chip?


Takashi


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2003-01-27 11:15 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-24 10:06 [Survey] headphone <-> master volume swap -- which codec chip? Takashi Iwai
     [not found] ` <3E311B10.6070901@esat.kuleuven.ac.be>
2003-01-24 11:00   ` Takashi Iwai
     [not found]     ` <3E312127.6020500@esat.kuleuven.ac.be>
2003-01-27 11:15       ` Takashi Iwai
2003-01-24 11:16 ` Jaroslav Kysela
2003-01-24 11:27   ` Takashi Iwai
2003-01-24 12:41     ` Pieter Palmers
2003-01-24 14:41       ` Takashi Iwai
2003-01-24 15:48         ` Takashi Iwai
2003-01-24 17:09 ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.