On Mon, 12 Mar 2012, Marc-Andr? Lureau wrote:
> Combine output volume with Master and PCM registers values.
> Use default values in mixer_reset ().
> Set volume on post-load to update backend values.
> ---
> hw/ac97.c | 79
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 79 insertions(+), 0 deletions(-)
>
> diff --git a/hw/ac97.c b/hw/ac97.c
> index f7866ed..227233c 100644
> --- a/hw/ac97.c
> +++ b/hw/ac97.c
> @@ -436,6 +436,63 @@ static void reset_voices (AC97LinkState *s, uint8_t
> active[LAST_INDEX])
> AUD_set_active_in (s->voice_mc, active[MC_INDEX]);
> }
>
> +static void get_volume (uint16_t vol, uint16_t mask, int inverse,
> + int *mute, uint8_t *lvol, uint8_t *rvol)
> +{
> + *mute = (vol >> MUTE_SHIFT) & 1;
> + *rvol = (255 * (vol & mask)) / mask;
> + *lvol = (255 * ((vol >> 8) & mask)) / mask;
> + if (inverse) {
> + *rvol = 255 - *rvol;
> + *lvol = 255 - *lvol;
> + }
> +}
Indentation is off here.
[..snip..]
--
mailto:[email protected]