High Definition Audio for the Digital Home: Proven Techniques for Getting It Right the First Time

Volume controls on Intel HD Audio codecs can be present on almost any widget in the codec. Volume controls are optional and not required. A driver might or might not choose to expose any particular volume control, especially if the signal path contains multiple volume controls. Volume controls in Intel HD Audio codecs are required to default to unity gain, with neither gain nor attenuation. Therefore, volume controls that aren't manipulated by the driver pass through any audio in the signal path. You have no guarantee that the audio engine on the system will make use of the hardware volume controls. Many Intel HD Audio designs lock the hardware volume controls to unity gain, and they perform all volume and muting in software.
Almost every widget in the codec uses the Amplifier Capabilities response format shown in Table 4.2 to report its volume control characteristics. A widget that is retaskable may include both input and output volume controls, each with a separate set of capabilities. You must know the values in StepSize, NumSteps, and Offset for each widget in order to set the volume control correctly. You might need to read this information directly from the codec, as it is often not included in the codec datasheet.
| 31 | 30:23 | 22:16 | 15 | 14:8 | 7 | 6:0 |
|---|---|---|---|---|---|---|
| Mute Capable | Rsvd | StepSize | Rsvd | NumSteps | Rsvd | Offset |
The Amplifier Capabilities response formats are:
Mute Capable (1 bit) reports whether the respective amplifier is capable of...