From: malc <av1474@comtv.ru>
To: Juan Quintela <quintela@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 27/49] ac97: add active to the state
Date: Wed, 30 Sep 2009 14:37:16 +0400 (MSD) [thread overview]
Message-ID: <Pine.LNX.4.64.0909301435150.2147@linmac.oyster.ru> (raw)
In-Reply-To: <d93032e20d443aeb567c2dcee9c6d4d166b98d58.1254255997.git.quintela@redhat.com>
On Tue, 29 Sep 2009, Juan Quintela wrote:
> This simplifies reset_voices, that only takes one argument now.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
> hw/ac97.c | 42 ++++++++++++++++++++----------------------
> 1 files changed, 20 insertions(+), 22 deletions(-)
>
> diff --git a/hw/ac97.c b/hw/ac97.c
> index 610ca60..da6cb2d 100644
> --- a/hw/ac97.c
> +++ b/hw/ac97.c
> @@ -146,6 +146,13 @@ typedef struct AC97BusMasterRegs {
> BD bd;
> } AC97BusMasterRegs;
>
> +enum {
> + PI_INDEX = 0,
> + PO_INDEX,
> + MC_INDEX,
> + LAST_INDEX
> +};
And this was moved becasue...?
> +
> typedef struct AC97LinkState {
> PCIDevice dev;
> QEMUSoundCard card;
> @@ -162,6 +169,7 @@ typedef struct AC97LinkState {
> uint8_t silence[128];
> uint32_t base[2];
> int bup_flag;
> + uint8_t active[LAST_INDEX];
This doesn't belong here, cause the only purpose i can see is to hack
around defficiencies of the new load/savevm APIs.
> } AC97LinkState;
>
> enum {
> @@ -186,13 +194,6 @@ enum { \
> prefix ## _CR = start + 11 \
> }
>
> -enum {
> - PI_INDEX = 0,
> - PO_INDEX,
> - MC_INDEX,
> - LAST_INDEX
> -};
> -
> MKREGS (PI, PI_INDEX * 16);
> MKREGS (PO, PO_INDEX * 16);
> MKREGS (MC, MC_INDEX * 16);
> @@ -414,21 +415,21 @@ static void open_voice (AC97LinkState *s, int index, int freq)
> }
> }
>
> -static void reset_voices (AC97LinkState *s, uint8_t active[LAST_INDEX])
> +static void reset_voices (AC97LinkState *s)
> {
> uint16_t freq;
>
> freq = mixer_load (s, AC97_PCM_LR_ADC_Rate);
> open_voice (s, PI_INDEX, freq);
> - AUD_set_active_in (s->voice_pi, active[PI_INDEX]);
> + AUD_set_active_in (s->voice_pi, s->active[PI_INDEX]);
>
> freq = mixer_load (s, AC97_PCM_Front_DAC_Rate);
> open_voice (s, PO_INDEX, freq);
> - AUD_set_active_out (s->voice_po, active[PO_INDEX]);
> + AUD_set_active_out (s->voice_po, s->active[PO_INDEX]);
>
> freq = mixer_load (s, AC97_MIC_ADC_Rate);
> open_voice (s, MC_INDEX, freq);
> - AUD_set_active_in (s->voice_mc, active[MC_INDEX]);
> + AUD_set_active_in (s->voice_mc, s->active[MC_INDEX]);
> }
>
> #ifdef USE_MIXER
> @@ -526,11 +527,10 @@ static void record_select (AC97LinkState *s, uint32_t val)
>
> static void mixer_reset (AC97LinkState *s)
> {
> - uint8_t active[LAST_INDEX];
>
> dolog ("mixer_reset\n");
> memset (s->mixer_data, 0, sizeof (s->mixer_data));
> - memset (active, 0, sizeof (active));
> + memset (s->active, 0, sizeof (s->active));
> mixer_store (s, AC97_Reset , 0x0000); /* 6940 */
> mixer_store (s, AC97_Master_Volume_Mono_Mute , 0x8000);
> mixer_store (s, AC97_PC_BEEP_Volume_Mute , 0x0000);
> @@ -564,7 +564,7 @@ static void mixer_reset (AC97LinkState *s)
> 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);
> + reset_voices (s);
> }
>
> /**
> @@ -1170,7 +1170,6 @@ static void po_callback (void *opaque, int free)
> static void ac97_save (QEMUFile *f, void *opaque)
> {
> size_t i;
> - uint8_t active[LAST_INDEX];
> AC97LinkState *s = opaque;
>
> pci_device_save (&s->dev, f);
> @@ -1194,17 +1193,16 @@ static void ac97_save (QEMUFile *f, void *opaque)
> }
> qemu_put_buffer (f, s->mixer_data, sizeof (s->mixer_data));
>
> - active[PI_INDEX] = AUD_is_active_in (s->voice_pi) ? 1 : 0;
> - active[PO_INDEX] = AUD_is_active_out (s->voice_po) ? 1 : 0;
> - active[MC_INDEX] = AUD_is_active_in (s->voice_mc) ? 1 : 0;
> - qemu_put_buffer (f, active, sizeof (active));
> + s->active[PI_INDEX] = AUD_is_active_in (s->voice_pi) ? 1 : 0;
> + s->active[PO_INDEX] = AUD_is_active_out (s->voice_po) ? 1 : 0;
> + s->active[MC_INDEX] = AUD_is_active_in (s->voice_mc) ? 1 : 0;
> + qemu_put_buffer (f, s->active, sizeof (s->active));
> }
>
> static int ac97_load (QEMUFile *f, void *opaque, int version_id)
> {
> int ret;
> size_t i;
> - uint8_t active[LAST_INDEX];
> AC97LinkState *s = opaque;
>
> if (version_id != 2)
> @@ -1232,7 +1230,7 @@ static int ac97_load (QEMUFile *f, void *opaque, int version_id)
> qemu_get_be32s (f, &r->bd.ctl_len);
> }
> qemu_get_buffer (f, s->mixer_data, sizeof (s->mixer_data));
> - qemu_get_buffer (f, active, sizeof (active));
> + qemu_get_buffer (f, s->active, sizeof (s->active));
>
> #ifdef USE_MIXER
> record_select (s, mixer_load (s, AC97_Record_Select));
> @@ -1242,7 +1240,7 @@ static int ac97_load (QEMUFile *f, void *opaque, int version_id)
> V_ (AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN);
> #undef V_
> #endif
> - reset_voices (s, active);
> + reset_voices (s);
>
> s->bup_flag = 0;
> s->last_samp = 0;
>
--
mailto:av1474@comtv.ru
next prev parent reply other threads:[~2009-09-30 10:37 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-29 20:48 [Qemu-devel] [PATCH 00/49] VMState: Fix design faults, i2c port, x86 cpu port, Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 01/49] vmstate: remove const for put operations Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 02/49] vmstate: add version_id argument to post_load Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 03/49] vmstate: remove const from pre_save() functions Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 04/49] vmstate: remove ps2_kbd_load_old() Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 05/49] vmstate: Add support for sending partial arrays Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 06/49] qdev: Add support for uint8_t Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 07/49] i2c: addresses are load/save as uint8_t values, change types to reflect this Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 08/49] vmstate: port i2c_bus device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 09/49] vmstate: port i2c_slave device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 10/49] vmstate: add uint8 array Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 11/49] vmstate: create VMSTATE_I2C_SLAVE Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 12/49] vmstate: port wm8750 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 13/49] vmstate: port max7310 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 14/49] vmstate: create VMSTATE_STRUCT_POINTER Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 15/49] vmstate: port pxa2xx_i2c device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 16/49] vmstate: port ssd0303 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 17/49] vmstate: create VMSTATE_INT16_ARRAY Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 18/49] tmp105: change len and alorm to uint8_t Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 19/49] vmstate: port tmp105 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 20/49] twl92230: change pwrbtn_state to uint8_t Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 21/49] vmstate: port twl92230 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 22/49] vmstate: add support for arrays of pointers Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 23/49] lm832x: make fields to have the same types that they are saved/loaded Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 24/49] vmstate: port lm832x device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 25/49] vmstate: remove i2c_slave_load/save Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 26/49] vmstate: port audio/audio.c Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 27/49] ac97: add active to the state Juan Quintela
2009-09-30 10:37 ` malc [this message]
2009-09-30 11:37 ` [Qemu-devel] " Juan Quintela
2009-09-30 11:47 ` malc
2009-09-30 12:05 ` Juan Quintela
2009-09-30 12:17 ` malc
2009-09-30 13:07 ` Juan Quintela
2009-09-30 13:12 ` malc
2009-09-30 13:37 ` Juan Quintela
2009-09-30 13:44 ` malc
2009-09-30 13:57 ` Juan Quintela
2009-09-30 14:53 ` malc
2009-09-30 15:02 ` Juan Quintela
2009-09-30 15:08 ` Anthony Liguori
2009-09-30 15:22 ` Juan Quintela
2009-09-30 15:24 ` malc
2009-09-30 21:11 ` Anthony Liguori
2009-09-30 21:19 ` malc
2009-09-29 20:48 ` [Qemu-devel] [PATCH 28/49] vmstate: port ac97 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 29/49] x86: hflags is not modified at all, just save it directly Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 30/49] x86: make a20_mask int32_t Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 31/49] x86: fpuc is uint16_t not unsigned int Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 32/49] x86: fpus " Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 33/49] x86: add fptag_vmstate to the state Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 34/49] x86: add pending_irq_vmstate " Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 35/49] x86: add fpregs_format_vmstate Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 36/49] x86: mce_banks always have the same size Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 37/49] x86: send mce_banks as an array Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 38/49] x86: mcg_cap is never 0 Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 39/49] x86: split FPReg union Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 40/49] x86: split MTRRVar union Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 41/49] Add *TL functions to vmstate Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 42/49] x86: port segments " Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 43/49] x86: factor out cpu_pre_save() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 44/49] x86: factor out cpu_pre/post_load() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 45/49] x86: factor out cpu_get/put_xmm_reg() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 46/49] x86: factor out cpu_get/put_mttr_var() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 47/49] x86: factor out cpu_get/put_fpreg() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 48/49] vmstate: Add suppot for field_exist() test Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 49/49] x86: port cpu to vmstate Juan Quintela
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0909301435150.2147@linmac.oyster.ru \
--to=av1474@comtv.ru \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).