qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code


From: wenyi
Subject: Re: [Qemu-devel] [PATCH 04/11] hw/ac97: remove USE_MIXER code
Date: Mon, 26 Sep 2011 10:34:53 +0800

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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]