qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code
  2011-09-21 16:10 ` [Qemu-devel] [PATCH 00/11] RFC: apply volume on client stream Marc-André Lureau
@ 2011-09-21 16:11   ` Marc-André Lureau
  2011-10-13 12:26   ` [Qemu-devel] [PATCH 01/11] audio: add VOICE_VOLUME ctl Marc-André Lureau
  2012-03-01 14:28   ` Marc-André Lureau
  2 siblings, 0 replies; 7+ messages in thread
From: Marc-André Lureau @ 2011-09-21 16:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau

It doesn't compile. The interesting bits for volume control are going
to be rewritten.
---
 hw/ac97.c |  121 -------------------------------------------------------------
 1 files changed, 0 insertions(+), 121 deletions(-)

diff --git a/hw/ac97.c b/hw/ac97.c
index 541d9a4..4d4a658 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -432,99 +432,6 @@ static void reset_voices (AC97LinkState *s, uint8_t active[LAST_INDEX])
     AUD_set_active_in (s->voice_mc, active[MC_INDEX]);
 }
 
-#ifdef USE_MIXER
-static void set_volume (AC97LinkState *s, int index,
-                        audmixerctl_t mt, uint32_t val)
-{
-    int mute = (val >> MUTE_SHIFT) & 1;
-    uint8_t rvol = VOL_MASK - (val & VOL_MASK);
-    uint8_t lvol = VOL_MASK - ((val >> 8) & VOL_MASK);
-    rvol = 255 * rvol / VOL_MASK;
-    lvol = 255 * lvol / VOL_MASK;
-
-#ifdef SOFT_VOLUME
-    if (index == AC97_Master_Volume_Mute) {
-        AUD_set_volume_out (s->voice_po, mute, lvol, rvol);
-    }
-    else {
-        AUD_set_volume (mt, &mute, &lvol, &rvol);
-    }
-#else
-    AUD_set_volume (mt, &mute, &lvol, &rvol);
-#endif
-
-    rvol = VOL_MASK - ((VOL_MASK * rvol) / 255);
-    lvol = VOL_MASK - ((VOL_MASK * lvol) / 255);
-    mixer_store (s, index, val);
-}
-
-static audrecsource_t ac97_to_aud_record_source (uint8_t i)
-{
-    switch (i) {
-    case REC_MIC:
-        return AUD_REC_MIC;
-
-    case REC_CD:
-        return AUD_REC_CD;
-
-    case REC_VIDEO:
-        return AUD_REC_VIDEO;
-
-    case REC_AUX:
-        return AUD_REC_AUX;
-
-    case REC_LINE_IN:
-        return AUD_REC_LINE_IN;
-
-    case REC_PHONE:
-        return AUD_REC_PHONE;
-
-    default:
-        dolog ("Unknown record source %d, using MIC\n", i);
-        return AUD_REC_MIC;
-    }
-}
-
-static uint8_t aud_to_ac97_record_source (audrecsource_t rs)
-{
-    switch (rs) {
-    case AUD_REC_MIC:
-        return REC_MIC;
-
-    case AUD_REC_CD:
-        return REC_CD;
-
-    case AUD_REC_VIDEO:
-        return REC_VIDEO;
-
-    case AUD_REC_AUX:
-        return REC_AUX;
-
-    case AUD_REC_LINE_IN:
-        return REC_LINE_IN;
-
-    case AUD_REC_PHONE:
-        return REC_PHONE;
-
-    default:
-        dolog ("Unknown audio recording source %d using MIC\n", rs);
-        return REC_MIC;
-    }
-}
-
-static void record_select (AC97LinkState *s, uint32_t val)
-{
-    uint8_t rs = val & REC_MASK;
-    uint8_t ls = (val >> 8) & REC_MASK;
-    audrecsource_t ars = ac97_to_aud_record_source (rs);
-    audrecsource_t als = ac97_to_aud_record_source (ls);
-    AUD_set_record_source (&als, &ars);
-    rs = aud_to_ac97_record_source (ars);
-    ls = aud_to_ac97_record_source (als);
-    mixer_store (s, AC97_Record_Select, rs | (ls << 8));
-}
-#endif
-
 static void mixer_reset (AC97LinkState *s)
 {
     uint8_t active[LAST_INDEX];
@@ -559,12 +466,6 @@ static void mixer_reset (AC97LinkState *s)
     mixer_store (s, AC97_PCM_LR_ADC_Rate         , 0xbb80);
     mixer_store (s, AC97_MIC_ADC_Rate            , 0xbb80);
 
-#ifdef USE_MIXER
-    record_select (s, 0);
-    set_volume (s, AC97_Master_Volume_Mute, AUD_MIXER_VOLUME  , 0x8000);
-    set_volume (s, AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM    , 0x8808);
-    set_volume (s, AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN, 0x8808);
-#endif
     reset_voices (s, active);
 }
 
@@ -623,20 +524,6 @@ static void nam_writew (void *opaque, uint32_t addr, uint32_t val)
         val |= mixer_load (s, index) & 0xf;
         mixer_store (s, index, val);
         break;
-#ifdef USE_MIXER
-    case AC97_Master_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_VOLUME, val);
-        break;
-    case AC97_PCM_Out_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_PCM, val);
-        break;
-    case AC97_Line_In_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_LINE_IN, val);
-        break;
-    case AC97_Record_Select:
-        record_select (s, val);
-        break;
-#endif
     case AC97_Vendor_ID1:
     case AC97_Vendor_ID2:
         dolog ("Attempt to write vendor ID to %#x\n", val);
@@ -1189,14 +1076,6 @@ static int ac97_post_load (void *opaque, int version_id)
     uint8_t active[LAST_INDEX];
     AC97LinkState *s = opaque;
 
-#ifdef USE_MIXER
-    record_select (s, mixer_load (s, AC97_Record_Select));
-#define V_(a, b) set_volume (s, a, b, mixer_load (s, a))
-    V_ (AC97_Master_Volume_Mute, AUD_MIXER_VOLUME);
-    V_ (AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM);
-    V_ (AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN);
-#undef V_
-#endif
     active[PI_INDEX] = !!(s->bm_regs[PI_INDEX].cr & CR_RPBM);
     active[PO_INDEX] = !!(s->bm_regs[PO_INDEX].cr & CR_RPBM);
     active[MC_INDEX] = !!(s->bm_regs[MC_INDEX].cr & CR_RPBM);
-- 
1.7.6.2

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

* Re: [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code
@ 2011-09-26  2:34 wenyi
  2011-09-28  1:25 ` Marc-André Lureau
  0 siblings, 1 reply; 7+ messages in thread
From: wenyi @ 2011-09-26  2:34 UTC (permalink / raw)
  To: qemu-devel

From: 	Marc-André Lureau
Subject: 	[Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code
Date: 	Wed, 21 Sep 2011 18:11:01 +0200

                It doesn't compile. The interesting bits for volume
                control are going
                to be rewritten.
                ---
                 hw/ac97.c |  121
                -------------------------------------------------------------
                 1 files changed, 0 insertions(+), 121 deletions(-)
                
                diff --git a/hw/ac97.c b/hw/ac97.c
                index 541d9a4..4d4a658 100644
                --- a/hw/ac97.c
                +++ b/hw/ac97.c
                @@ -432,99 +432,6 @@ static void reset_voices
                (AC97LinkState *s, uint8_t 
                active[LAST_INDEX])
                     AUD_set_active_in (s->voice_mc, active[MC_INDEX]);
                 }
                 
                -#ifdef USE_MIXER
                -static void set_volume (AC97LinkState *s, int index,
                -                        audmixerctl_t mt, uint32_t val)
                -{
                -    int mute = (val >> MUTE_SHIFT) & 1;
                -    uint8_t rvol = VOL_MASK - (val & VOL_MASK);
                -    uint8_t lvol = VOL_MASK - ((val >> 8) & VOL_MASK);
                -    rvol = 255 * rvol / VOL_MASK;
                -    lvol = 255 * lvol / VOL_MASK;
                -
                -#ifdef SOFT_VOLUME
                -    if (index == AC97_Master_Volume_Mute) {
                -        AUD_set_volume_out (s->voice_po, mute, lvol,
                rvol);
                -    }
                -    else {
                -        AUD_set_volume (mt, &mute, &lvol, &rvol);
                -    }
                -#else
                -    AUD_set_volume (mt, &mute, &lvol, &rvol);
                -#endif
                -
                -    rvol = VOL_MASK - ((VOL_MASK * rvol) / 255);
                -    lvol = VOL_MASK - ((VOL_MASK * lvol) / 255);
                -    mixer_store (s, index, val);
                -}
                -
                -static audrecsource_t ac97_to_aud_record_source
                (uint8_t i)
                -{
                -    switch (i) {
                -    case REC_MIC:
                -        return AUD_REC_MIC;
                -
                -    case REC_CD:
                -        return AUD_REC_CD;
                -
                -    case REC_VIDEO:
                -        return AUD_REC_VIDEO;
                -
                -    case REC_AUX:
                -        return AUD_REC_AUX;
                -
                -    case REC_LINE_IN:
                -        return AUD_REC_LINE_IN;
                -
                -    case REC_PHONE:
                -        return AUD_REC_PHONE;
                -
                -    default:
                -        dolog ("Unknown record source %d, using MIC\n",
                i);
                -        return AUD_REC_MIC;
                -    }
                -}
                -
                -static uint8_t aud_to_ac97_record_source
                (audrecsource_t rs)
                -{
                -    switch (rs) {
                -    case AUD_REC_MIC:
                -        return REC_MIC;
                -
                -    case AUD_REC_CD:
                -        return REC_CD;
                -
                -    case AUD_REC_VIDEO:
                -        return REC_VIDEO;
                -
                -    case AUD_REC_AUX:
                -        return REC_AUX;
                -
                -    case AUD_REC_LINE_IN:
                -        return REC_LINE_IN;
                -
                -    case AUD_REC_PHONE:
                -        return REC_PHONE;
                -
                -    default:
                -        dolog ("Unknown audio recording source %d using
                MIC\n", rs);
                -        return REC_MIC;
                -    }
                -}
                -
                -static void record_select (AC97LinkState *s, uint32_t
                val)
                -{
                -    uint8_t rs = val & REC_MASK;
                -    uint8_t ls = (val >> 8) & REC_MASK;
                -    audrecsource_t ars = ac97_to_aud_record_source
                (rs);
                -    audrecsource_t als = ac97_to_aud_record_source
                (ls);
                -    AUD_set_record_source (&als, &ars);
                -    rs = aud_to_ac97_record_source (ars);
                -    ls = aud_to_ac97_record_source (als);
                -    mixer_store (s, AC97_Record_Select, rs | (ls <<
                8));
                -}
                -#endif
                -
                 static void mixer_reset (AC97LinkState *s)
                 {
                     uint8_t active[LAST_INDEX];
                @@ -559,12 +466,6 @@ static void mixer_reset
                (AC97LinkState *s)
                     mixer_store (s, AC97_PCM_LR_ADC_Rate         ,
                0xbb80);
                     mixer_store (s, AC97_MIC_ADC_Rate            ,
                0xbb80);
                 
                -#ifdef USE_MIXER
                -    record_select (s, 0);
                -    set_volume (s, AC97_Master_Volume_Mute,
                AUD_MIXER_VOLUME  , 0x8000);
                -    set_volume (s, AC97_PCM_Out_Volume_Mute,
                AUD_MIXER_PCM    , 0x8808);
                -    set_volume (s, AC97_Line_In_Volume_Mute,
                AUD_MIXER_LINE_IN, 0x8808);
                -#endif
                     reset_voices (s, active);
                 }
                 
                @@ -623,20 +524,6 @@ static void nam_writew (void
                *opaque, uint32_t addr, 
                uint32_t val)
                         val |= mixer_load (s, index) & 0xf;
                         mixer_store (s, index, val);
                         break;
                -#ifdef USE_MIXER
                -    case AC97_Master_Volume_Mute:
                -        set_volume (s, index, AUD_MIXER_VOLUME, val);
                -        break;
                -    case AC97_PCM_Out_Volume_Mute:
                -        set_volume (s, index, AUD_MIXER_PCM, val);
                -        break;
                -    case AC97_Line_In_Volume_Mute:
                -        set_volume (s, index, AUD_MIXER_LINE_IN, val);
                -        break;
                -    case AC97_Record_Select:
                -        record_select (s, val);
                -        break;
                -#endif
                     case AC97_Vendor_ID1:
                     case AC97_Vendor_ID2:
                         dolog ("Attempt to write vendor ID to %#x\n",
                val);
                @@ -1189,14 +1076,6 @@ static int ac97_post_load (void
                *opaque, int version_id)
                     uint8_t active[LAST_INDEX];
                     AC97LinkState *s = opaque;
                 
                -#ifdef USE_MIXER
                -    record_select (s, mixer_load (s,
                AC97_Record_Select));
                -#define V_(a, b) set_volume (s, a, b, mixer_load (s,
                a))
                -    V_ (AC97_Master_Volume_Mute, AUD_MIXER_VOLUME);
                -    V_ (AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM);
                -    V_ (AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN);
                -#undef V_
                -#endif
                     active[PI_INDEX] = !!(s->bm_regs[PI_INDEX].cr &
                CR_RPBM);
                     active[PO_INDEX] = !!(s->bm_regs[PO_INDEX].cr &
                CR_RPBM);
                     active[MC_INDEX] = !!(s->bm_regs[MC_INDEX].cr &
                CR_RPBM);
                -- 
                1.7.6.2


I got the latest code from git://git.qemu.org/qemu.git, but I can't
apply the patch to the code with the following error:
# git apply ac97-patch
fatal: corrupt patch at line 10

Do I miss other dependent patches for the patch to apply it to the
code?  


Best Regards
Wayne Gao

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

* Re: [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code
  2011-09-26  2:34 [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code wenyi
@ 2011-09-28  1:25 ` Marc-André Lureau
  2011-09-28  2:25   ` Wayne Gao
  0 siblings, 1 reply; 7+ messages in thread
From: Marc-André Lureau @ 2011-09-28  1:25 UTC (permalink / raw)
  To: wenyi; +Cc: qemu-devel

Hi Wayne

On Mon, Sep 26, 2011 at 4:34 AM, wenyi <wenyi@linux.vnet.ibm.com> wrote:
> # git apply ac97-patch
> fatal: corrupt patch at line 10
>
> Do I miss other dependent patches for the patch to apply it to the
> code?

They should apply on top of current master. I just tried again.

How did you save the patches? You should use "git am" instead of "git
apply" perhaps

regards

-- 
Marc-André Lureau

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

* Re: [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code
  2011-09-28  1:25 ` Marc-André Lureau
@ 2011-09-28  2:25   ` Wayne Gao
  0 siblings, 0 replies; 7+ messages in thread
From: Wayne Gao @ 2011-09-28  2:25 UTC (permalink / raw)
  To: Marc-André Lureau; +Cc: qemu-devel

On Wed, 2011-09-28 at 03:25 +0200, Marc-André Lureau wrote:
> Hi Wayne
> 
> On Mon, Sep 26, 2011 at 4:34 AM, wenyi <wenyi@linux.vnet.ibm.com> wrote:
> > # git apply ac97-patch
> > fatal: corrupt patch at line 10
> >
> > Do I miss other dependent patches for the patch to apply it to the
> > code?
> 
> They should apply on top of current master. I just tried again.
> 
> How did you save the patches? You should use "git am" instead of "git
> apply" perhaps
> 
> regards
> 

I can apply the patch to my code now by getting the patch code from
other guy's mail not qemu-devel Archives. Thanks.

Regards
Wayne Gao

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

* [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code
  2011-10-13 12:26   ` [Qemu-devel] [PATCH 01/11] audio: add VOICE_VOLUME ctl Marc-André Lureau
@ 2011-10-13 12:26     ` Marc-André Lureau
  0 siblings, 0 replies; 7+ messages in thread
From: Marc-André Lureau @ 2011-10-13 12:26 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, kraxel

It doesn't compile. The interesting bits for volume control are going
to be rewritten.
---
 hw/ac97.c |  121 -------------------------------------------------------------
 1 files changed, 0 insertions(+), 121 deletions(-)

diff --git a/hw/ac97.c b/hw/ac97.c
index 541d9a4..4d4a658 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -432,99 +432,6 @@ static void reset_voices (AC97LinkState *s, uint8_t active[LAST_INDEX])
     AUD_set_active_in (s->voice_mc, active[MC_INDEX]);
 }
 
-#ifdef USE_MIXER
-static void set_volume (AC97LinkState *s, int index,
-                        audmixerctl_t mt, uint32_t val)
-{
-    int mute = (val >> MUTE_SHIFT) & 1;
-    uint8_t rvol = VOL_MASK - (val & VOL_MASK);
-    uint8_t lvol = VOL_MASK - ((val >> 8) & VOL_MASK);
-    rvol = 255 * rvol / VOL_MASK;
-    lvol = 255 * lvol / VOL_MASK;
-
-#ifdef SOFT_VOLUME
-    if (index == AC97_Master_Volume_Mute) {
-        AUD_set_volume_out (s->voice_po, mute, lvol, rvol);
-    }
-    else {
-        AUD_set_volume (mt, &mute, &lvol, &rvol);
-    }
-#else
-    AUD_set_volume (mt, &mute, &lvol, &rvol);
-#endif
-
-    rvol = VOL_MASK - ((VOL_MASK * rvol) / 255);
-    lvol = VOL_MASK - ((VOL_MASK * lvol) / 255);
-    mixer_store (s, index, val);
-}
-
-static audrecsource_t ac97_to_aud_record_source (uint8_t i)
-{
-    switch (i) {
-    case REC_MIC:
-        return AUD_REC_MIC;
-
-    case REC_CD:
-        return AUD_REC_CD;
-
-    case REC_VIDEO:
-        return AUD_REC_VIDEO;
-
-    case REC_AUX:
-        return AUD_REC_AUX;
-
-    case REC_LINE_IN:
-        return AUD_REC_LINE_IN;
-
-    case REC_PHONE:
-        return AUD_REC_PHONE;
-
-    default:
-        dolog ("Unknown record source %d, using MIC\n", i);
-        return AUD_REC_MIC;
-    }
-}
-
-static uint8_t aud_to_ac97_record_source (audrecsource_t rs)
-{
-    switch (rs) {
-    case AUD_REC_MIC:
-        return REC_MIC;
-
-    case AUD_REC_CD:
-        return REC_CD;
-
-    case AUD_REC_VIDEO:
-        return REC_VIDEO;
-
-    case AUD_REC_AUX:
-        return REC_AUX;
-
-    case AUD_REC_LINE_IN:
-        return REC_LINE_IN;
-
-    case AUD_REC_PHONE:
-        return REC_PHONE;
-
-    default:
-        dolog ("Unknown audio recording source %d using MIC\n", rs);
-        return REC_MIC;
-    }
-}
-
-static void record_select (AC97LinkState *s, uint32_t val)
-{
-    uint8_t rs = val & REC_MASK;
-    uint8_t ls = (val >> 8) & REC_MASK;
-    audrecsource_t ars = ac97_to_aud_record_source (rs);
-    audrecsource_t als = ac97_to_aud_record_source (ls);
-    AUD_set_record_source (&als, &ars);
-    rs = aud_to_ac97_record_source (ars);
-    ls = aud_to_ac97_record_source (als);
-    mixer_store (s, AC97_Record_Select, rs | (ls << 8));
-}
-#endif
-
 static void mixer_reset (AC97LinkState *s)
 {
     uint8_t active[LAST_INDEX];
@@ -559,12 +466,6 @@ static void mixer_reset (AC97LinkState *s)
     mixer_store (s, AC97_PCM_LR_ADC_Rate         , 0xbb80);
     mixer_store (s, AC97_MIC_ADC_Rate            , 0xbb80);
 
-#ifdef USE_MIXER
-    record_select (s, 0);
-    set_volume (s, AC97_Master_Volume_Mute, AUD_MIXER_VOLUME  , 0x8000);
-    set_volume (s, AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM    , 0x8808);
-    set_volume (s, AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN, 0x8808);
-#endif
     reset_voices (s, active);
 }
 
@@ -623,20 +524,6 @@ static void nam_writew (void *opaque, uint32_t addr, uint32_t val)
         val |= mixer_load (s, index) & 0xf;
         mixer_store (s, index, val);
         break;
-#ifdef USE_MIXER
-    case AC97_Master_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_VOLUME, val);
-        break;
-    case AC97_PCM_Out_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_PCM, val);
-        break;
-    case AC97_Line_In_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_LINE_IN, val);
-        break;
-    case AC97_Record_Select:
-        record_select (s, val);
-        break;
-#endif
     case AC97_Vendor_ID1:
     case AC97_Vendor_ID2:
         dolog ("Attempt to write vendor ID to %#x\n", val);
@@ -1189,14 +1076,6 @@ static int ac97_post_load (void *opaque, int version_id)
     uint8_t active[LAST_INDEX];
     AC97LinkState *s = opaque;
 
-#ifdef USE_MIXER
-    record_select (s, mixer_load (s, AC97_Record_Select));
-#define V_(a, b) set_volume (s, a, b, mixer_load (s, a))
-    V_ (AC97_Master_Volume_Mute, AUD_MIXER_VOLUME);
-    V_ (AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM);
-    V_ (AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN);
-#undef V_
-#endif
     active[PI_INDEX] = !!(s->bm_regs[PI_INDEX].cr & CR_RPBM);
     active[PO_INDEX] = !!(s->bm_regs[PO_INDEX].cr & CR_RPBM);
     active[MC_INDEX] = !!(s->bm_regs[MC_INDEX].cr & CR_RPBM);
-- 
1.7.6.2

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

* [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code
  2011-09-21 16:10 ` [Qemu-devel] [PATCH 00/11] RFC: apply volume on client stream Marc-André Lureau
  2011-09-21 16:11   ` [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code Marc-André Lureau
  2011-10-13 12:26   ` [Qemu-devel] [PATCH 01/11] audio: add VOICE_VOLUME ctl Marc-André Lureau
@ 2012-03-01 14:28   ` Marc-André Lureau
  2 siblings, 0 replies; 7+ messages in thread
From: Marc-André Lureau @ 2012-03-01 14:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, kraxel

It doesn't compile. The interesting bits for volume control are going
to be rewritten.
---
 hw/ac97.c |  121 -------------------------------------------------------------
 1 files changed, 0 insertions(+), 121 deletions(-)

diff --git a/hw/ac97.c b/hw/ac97.c
index c0fd019..f2804e6 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -437,99 +437,6 @@ static void reset_voices (AC97LinkState *s, uint8_t active[LAST_INDEX])
     AUD_set_active_in (s->voice_mc, active[MC_INDEX]);
 }
 
-#ifdef USE_MIXER
-static void set_volume (AC97LinkState *s, int index,
-                        audmixerctl_t mt, uint32_t val)
-{
-    int mute = (val >> MUTE_SHIFT) & 1;
-    uint8_t rvol = VOL_MASK - (val & VOL_MASK);
-    uint8_t lvol = VOL_MASK - ((val >> 8) & VOL_MASK);
-    rvol = 255 * rvol / VOL_MASK;
-    lvol = 255 * lvol / VOL_MASK;
-
-#ifdef SOFT_VOLUME
-    if (index == AC97_Master_Volume_Mute) {
-        AUD_set_volume_out (s->voice_po, mute, lvol, rvol);
-    }
-    else {
-        AUD_set_volume (mt, &mute, &lvol, &rvol);
-    }
-#else
-    AUD_set_volume (mt, &mute, &lvol, &rvol);
-#endif
-
-    rvol = VOL_MASK - ((VOL_MASK * rvol) / 255);
-    lvol = VOL_MASK - ((VOL_MASK * lvol) / 255);
-    mixer_store (s, index, val);
-}
-
-static audrecsource_t ac97_to_aud_record_source (uint8_t i)
-{
-    switch (i) {
-    case REC_MIC:
-        return AUD_REC_MIC;
-
-    case REC_CD:
-        return AUD_REC_CD;
-
-    case REC_VIDEO:
-        return AUD_REC_VIDEO;
-
-    case REC_AUX:
-        return AUD_REC_AUX;
-
-    case REC_LINE_IN:
-        return AUD_REC_LINE_IN;
-
-    case REC_PHONE:
-        return AUD_REC_PHONE;
-
-    default:
-        dolog ("Unknown record source %d, using MIC\n", i);
-        return AUD_REC_MIC;
-    }
-}
-
-static uint8_t aud_to_ac97_record_source (audrecsource_t rs)
-{
-    switch (rs) {
-    case AUD_REC_MIC:
-        return REC_MIC;
-
-    case AUD_REC_CD:
-        return REC_CD;
-
-    case AUD_REC_VIDEO:
-        return REC_VIDEO;
-
-    case AUD_REC_AUX:
-        return REC_AUX;
-
-    case AUD_REC_LINE_IN:
-        return REC_LINE_IN;
-
-    case AUD_REC_PHONE:
-        return REC_PHONE;
-
-    default:
-        dolog ("Unknown audio recording source %d using MIC\n", rs);
-        return REC_MIC;
-    }
-}
-
-static void record_select (AC97LinkState *s, uint32_t val)
-{
-    uint8_t rs = val & REC_MASK;
-    uint8_t ls = (val >> 8) & REC_MASK;
-    audrecsource_t ars = ac97_to_aud_record_source (rs);
-    audrecsource_t als = ac97_to_aud_record_source (ls);
-    AUD_set_record_source (&als, &ars);
-    rs = aud_to_ac97_record_source (ars);
-    ls = aud_to_ac97_record_source (als);
-    mixer_store (s, AC97_Record_Select, rs | (ls << 8));
-}
-#endif
-
 static void mixer_reset (AC97LinkState *s)
 {
     uint8_t active[LAST_INDEX];
@@ -564,12 +471,6 @@ static void mixer_reset (AC97LinkState *s)
     mixer_store (s, AC97_PCM_LR_ADC_Rate         , 0xbb80);
     mixer_store (s, AC97_MIC_ADC_Rate            , 0xbb80);
 
-#ifdef USE_MIXER
-    record_select (s, 0);
-    set_volume (s, AC97_Master_Volume_Mute, AUD_MIXER_VOLUME  , 0x8000);
-    set_volume (s, AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM    , 0x8808);
-    set_volume (s, AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN, 0x8808);
-#endif
     reset_voices (s, active);
 }
 
@@ -628,20 +529,6 @@ static void nam_writew (void *opaque, uint32_t addr, uint32_t val)
         val |= mixer_load (s, index) & 0xf;
         mixer_store (s, index, val);
         break;
-#ifdef USE_MIXER
-    case AC97_Master_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_VOLUME, val);
-        break;
-    case AC97_PCM_Out_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_PCM, val);
-        break;
-    case AC97_Line_In_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_LINE_IN, val);
-        break;
-    case AC97_Record_Select:
-        record_select (s, val);
-        break;
-#endif
     case AC97_Vendor_ID1:
     case AC97_Vendor_ID2:
         dolog ("Attempt to write vendor ID to %#x\n", val);
@@ -1194,14 +1081,6 @@ static int ac97_post_load (void *opaque, int version_id)
     uint8_t active[LAST_INDEX];
     AC97LinkState *s = opaque;
 
-#ifdef USE_MIXER
-    record_select (s, mixer_load (s, AC97_Record_Select));
-#define V_(a, b) set_volume (s, a, b, mixer_load (s, a))
-    V_ (AC97_Master_Volume_Mute, AUD_MIXER_VOLUME);
-    V_ (AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM);
-    V_ (AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN);
-#undef V_
-#endif
     active[PI_INDEX] = !!(s->bm_regs[PI_INDEX].cr & CR_RPBM);
     active[PO_INDEX] = !!(s->bm_regs[PO_INDEX].cr & CR_RPBM);
     active[MC_INDEX] = !!(s->bm_regs[MC_INDEX].cr & CR_RPBM);
-- 
1.7.7.6

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

* [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code
  2012-03-12 18:50 [Qemu-devel] [PATCH 00/11] apply volume on client side (v3) Marc-André Lureau
@ 2012-03-12 18:50 ` Marc-André Lureau
  0 siblings, 0 replies; 7+ messages in thread
From: Marc-André Lureau @ 2012-03-12 18:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, dnb, dlaor, kraxel

That code doesn't compile. The interesting bits for volume control are
going to be rewritten in the following patch.
---
 hw/ac97.c |  121 -------------------------------------------------------------
 1 files changed, 0 insertions(+), 121 deletions(-)

diff --git a/hw/ac97.c b/hw/ac97.c
index c0fd019..f2804e6 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -437,99 +437,6 @@ static void reset_voices (AC97LinkState *s, uint8_t active[LAST_INDEX])
     AUD_set_active_in (s->voice_mc, active[MC_INDEX]);
 }
 
-#ifdef USE_MIXER
-static void set_volume (AC97LinkState *s, int index,
-                        audmixerctl_t mt, uint32_t val)
-{
-    int mute = (val >> MUTE_SHIFT) & 1;
-    uint8_t rvol = VOL_MASK - (val & VOL_MASK);
-    uint8_t lvol = VOL_MASK - ((val >> 8) & VOL_MASK);
-    rvol = 255 * rvol / VOL_MASK;
-    lvol = 255 * lvol / VOL_MASK;
-
-#ifdef SOFT_VOLUME
-    if (index == AC97_Master_Volume_Mute) {
-        AUD_set_volume_out (s->voice_po, mute, lvol, rvol);
-    }
-    else {
-        AUD_set_volume (mt, &mute, &lvol, &rvol);
-    }
-#else
-    AUD_set_volume (mt, &mute, &lvol, &rvol);
-#endif
-
-    rvol = VOL_MASK - ((VOL_MASK * rvol) / 255);
-    lvol = VOL_MASK - ((VOL_MASK * lvol) / 255);
-    mixer_store (s, index, val);
-}
-
-static audrecsource_t ac97_to_aud_record_source (uint8_t i)
-{
-    switch (i) {
-    case REC_MIC:
-        return AUD_REC_MIC;
-
-    case REC_CD:
-        return AUD_REC_CD;
-
-    case REC_VIDEO:
-        return AUD_REC_VIDEO;
-
-    case REC_AUX:
-        return AUD_REC_AUX;
-
-    case REC_LINE_IN:
-        return AUD_REC_LINE_IN;
-
-    case REC_PHONE:
-        return AUD_REC_PHONE;
-
-    default:
-        dolog ("Unknown record source %d, using MIC\n", i);
-        return AUD_REC_MIC;
-    }
-}
-
-static uint8_t aud_to_ac97_record_source (audrecsource_t rs)
-{
-    switch (rs) {
-    case AUD_REC_MIC:
-        return REC_MIC;
-
-    case AUD_REC_CD:
-        return REC_CD;
-
-    case AUD_REC_VIDEO:
-        return REC_VIDEO;
-
-    case AUD_REC_AUX:
-        return REC_AUX;
-
-    case AUD_REC_LINE_IN:
-        return REC_LINE_IN;
-
-    case AUD_REC_PHONE:
-        return REC_PHONE;
-
-    default:
-        dolog ("Unknown audio recording source %d using MIC\n", rs);
-        return REC_MIC;
-    }
-}
-
-static void record_select (AC97LinkState *s, uint32_t val)
-{
-    uint8_t rs = val & REC_MASK;
-    uint8_t ls = (val >> 8) & REC_MASK;
-    audrecsource_t ars = ac97_to_aud_record_source (rs);
-    audrecsource_t als = ac97_to_aud_record_source (ls);
-    AUD_set_record_source (&als, &ars);
-    rs = aud_to_ac97_record_source (ars);
-    ls = aud_to_ac97_record_source (als);
-    mixer_store (s, AC97_Record_Select, rs | (ls << 8));
-}
-#endif
-
 static void mixer_reset (AC97LinkState *s)
 {
     uint8_t active[LAST_INDEX];
@@ -564,12 +471,6 @@ static void mixer_reset (AC97LinkState *s)
     mixer_store (s, AC97_PCM_LR_ADC_Rate         , 0xbb80);
     mixer_store (s, AC97_MIC_ADC_Rate            , 0xbb80);
 
-#ifdef USE_MIXER
-    record_select (s, 0);
-    set_volume (s, AC97_Master_Volume_Mute, AUD_MIXER_VOLUME  , 0x8000);
-    set_volume (s, AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM    , 0x8808);
-    set_volume (s, AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN, 0x8808);
-#endif
     reset_voices (s, active);
 }
 
@@ -628,20 +529,6 @@ static void nam_writew (void *opaque, uint32_t addr, uint32_t val)
         val |= mixer_load (s, index) & 0xf;
         mixer_store (s, index, val);
         break;
-#ifdef USE_MIXER
-    case AC97_Master_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_VOLUME, val);
-        break;
-    case AC97_PCM_Out_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_PCM, val);
-        break;
-    case AC97_Line_In_Volume_Mute:
-        set_volume (s, index, AUD_MIXER_LINE_IN, val);
-        break;
-    case AC97_Record_Select:
-        record_select (s, val);
-        break;
-#endif
     case AC97_Vendor_ID1:
     case AC97_Vendor_ID2:
         dolog ("Attempt to write vendor ID to %#x\n", val);
@@ -1194,14 +1081,6 @@ static int ac97_post_load (void *opaque, int version_id)
     uint8_t active[LAST_INDEX];
     AC97LinkState *s = opaque;
 
-#ifdef USE_MIXER
-    record_select (s, mixer_load (s, AC97_Record_Select));
-#define V_(a, b) set_volume (s, a, b, mixer_load (s, a))
-    V_ (AC97_Master_Volume_Mute, AUD_MIXER_VOLUME);
-    V_ (AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM);
-    V_ (AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN);
-#undef V_
-#endif
     active[PI_INDEX] = !!(s->bm_regs[PI_INDEX].cr & CR_RPBM);
     active[PO_INDEX] = !!(s->bm_regs[PO_INDEX].cr & CR_RPBM);
     active[MC_INDEX] = !!(s->bm_regs[MC_INDEX].cr & CR_RPBM);
-- 
1.7.7.6

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

end of thread, other threads:[~2012-03-12 18:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-26  2:34 [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code wenyi
2011-09-28  1:25 ` Marc-André Lureau
2011-09-28  2:25   ` Wayne Gao
  -- strict thread matches above, loose matches on Subject: below --
2012-03-01 14:27 [Qemu-devel] [PATCH 00/11] apply volume on client side Marc-André Lureau
2011-09-21 16:10 ` [Qemu-devel] [PATCH 00/11] RFC: apply volume on client stream Marc-André Lureau
2011-09-21 16:11   ` [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code Marc-André Lureau
2011-10-13 12:26   ` [Qemu-devel] [PATCH 01/11] audio: add VOICE_VOLUME ctl Marc-André Lureau
2011-10-13 12:26     ` [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code Marc-André Lureau
2012-03-01 14:28   ` Marc-André Lureau
2012-03-12 18:50 [Qemu-devel] [PATCH 00/11] apply volume on client side (v3) Marc-André Lureau
2012-03-12 18:50 ` [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code Marc-André Lureau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).