Lines Matching +full:- +full:556
30 #include "hw/qdev-properties.h"
146 { 8000, 16000, 27420, 32000, -1, -1, 48000, 9000 },
153 -32124,-31100,-30076,-29052,-28028,-27004,-25980,-24956,
154 -23932,-22908,-21884,-20860,-19836,-18812,-17788,-16764,
155 -15996,-15484,-14972,-14460,-13948,-13436,-12924,-12412,
156 -11900,-11388,-10876,-10364, -9852, -9340, -8828, -8316,
157 -7932, -7676, -7420, -7164, -6908, -6652, -6396, -6140,
158 -5884, -5628, -5372, -5116, -4860, -4604, -4348, -4092,
159 -3900, -3772, -3644, -3516, -3388, -3260, -3132, -3004,
160 -2876, -2748, -2620, -2492, -2364, -2236, -2108, -1980,
161 -1884, -1820, -1756, -1692, -1628, -1564, -1500, -1436,
162 -1372, -1308, -1244, -1180, -1116, -1052, -988, -924,
163 -876, -844, -812, -780, -748, -716, -684, -652,
164 -620, -588, -556, -524, -492, -460, -428, -396,
165 -372, -356, -340, -324, -308, -292, -276, -260,
166 -244, -228, -212, -196, -180, -164, -148, -132,
167 -120, -112, -104, -96, -88, -80, -72, -64,
168 -56, -48, -40, -32, -24, -16, -8, 0,
180 620, 588, 556, 524, 492, 460, 428, 396,
189 -5504, -5248, -6016, -5760, -4480, -4224, -4992, -4736,
190 -7552, -7296, -8064, -7808, -6528, -6272, -7040, -6784,
191 -2752, -2624, -3008, -2880, -2240, -2112, -2496, -2368,
192 -3776, -3648, -4032, -3904, -3264, -3136, -3520, -3392,
193 -22016,-20992,-24064,-23040,-17920,-16896,-19968,-18944,
194 -30208,-29184,-32256,-31232,-26112,-25088,-28160,-27136,
195 -11008,-10496,-12032,-11520,-8960, -8448, -9984, -9472,
196 -15104,-14592,-16128,-15616,-13056,-12544,-14080,-13568,
197 -344, -328, -376, -360, -280, -264, -312, -296,
198 -472, -456, -504, -488, -408, -392, -440, -424,
199 -88, -72, -120, -104, -24, -8, -56, -40,
200 -216, -200, -248, -232, -152, -136, -184, -168,
201 -1376, -1312, -1504, -1440, -1120, -1056, -1248, -1184,
202 -1888, -1824, -2016, -1952, -1632, -1568, -1760, -1696,
203 -688, -656, -752, -720, -560, -528, -624, -592,
204 -944, -912, -1008, -976, -816, -784, -880, -848,
227 s->regs[Index_Address] = 0x40; in cs4231a_reset()
228 s->regs[Index_Data] = 0x00; in cs4231a_reset()
229 s->regs[Status] = 0x00; in cs4231a_reset()
230 s->regs[PIO_Data] = 0x00; in cs4231a_reset()
232 s->dregs[Left_ADC_Input_Control] = 0x00; in cs4231a_reset()
233 s->dregs[Right_ADC_Input_Control] = 0x00; in cs4231a_reset()
234 s->dregs[Left_AUX1_Input_Control] = 0x88; in cs4231a_reset()
235 s->dregs[Right_AUX1_Input_Control] = 0x88; in cs4231a_reset()
236 s->dregs[Left_AUX2_Input_Control] = 0x88; in cs4231a_reset()
237 s->dregs[Right_AUX2_Input_Control] = 0x88; in cs4231a_reset()
238 s->dregs[Left_DAC_Output_Control] = 0x80; in cs4231a_reset()
239 s->dregs[Right_DAC_Output_Control] = 0x80; in cs4231a_reset()
240 s->dregs[FS_And_Playback_Data_Format] = 0x00; in cs4231a_reset()
241 s->dregs[Interface_Configuration] = 0x08; in cs4231a_reset()
242 s->dregs[Pin_Control] = 0x00; in cs4231a_reset()
243 s->dregs[Error_Status_And_Initialization] = 0x00; in cs4231a_reset()
244 s->dregs[MODE_And_ID] = 0x8a; in cs4231a_reset()
245 s->dregs[Loopback_Control] = 0x00; in cs4231a_reset()
246 s->dregs[Playback_Upper_Base_Count] = 0x00; in cs4231a_reset()
247 s->dregs[Playback_Lower_Base_Count] = 0x00; in cs4231a_reset()
248 s->dregs[Alternate_Feature_Enable_I] = 0x00; in cs4231a_reset()
249 s->dregs[Alternate_Feature_Enable_II] = 0x00; in cs4231a_reset()
250 s->dregs[Left_Line_Input_Control] = 0x88; in cs4231a_reset()
251 s->dregs[Right_Line_Input_Control] = 0x88; in cs4231a_reset()
252 s->dregs[Timer_Low_Base] = 0x00; in cs4231a_reset()
253 s->dregs[Timer_High_Base] = 0x00; in cs4231a_reset()
254 s->dregs[RESERVED] = 0x00; in cs4231a_reset()
255 s->dregs[Alternate_Feature_Enable_III] = 0x00; in cs4231a_reset()
256 s->dregs[Alternate_Feature_Status] = 0x00; in cs4231a_reset()
257 s->dregs[Version_Chip_ID] = 0xa0; in cs4231a_reset()
258 s->dregs[Mono_Input_And_Output_Control] = 0xa0; in cs4231a_reset()
259 s->dregs[RESERVED_2] = 0x00; in cs4231a_reset()
260 s->dregs[Capture_Data_Format] = 0x00; in cs4231a_reset()
261 s->dregs[RESERVED_3] = 0x00; in cs4231a_reset()
262 s->dregs[Capture_Upper_Base_Count] = 0x00; in cs4231a_reset()
263 s->dregs[Capture_Lower_Base_Count] = 0x00; in cs4231a_reset()
269 s->audio_free = free; in cs_audio_callback()
276 IsaDmaClass *k = ISADMA_GET_CLASS(s->isa_dma); in cs_reset_voices()
286 if (as.freq == -1) { in cs_reset_voices()
293 s->tab = NULL; in cs_reset_voices()
295 switch ((val >> 5) & ((s->dregs[MODE_And_ID] & MODE2) ? 7 : 3)) { in cs_reset_voices()
298 s->shift = as.nchannels == 2; in cs_reset_voices()
302 s->tab = MuLawDecompressTable; in cs_reset_voices()
305 s->tab = ALawDecompressTable; in cs_reset_voices()
309 s->shift = as.nchannels == 2; in cs_reset_voices()
317 s->shift = as.nchannels; in cs_reset_voices()
330 s->voice = AUD_open_out ( in cs_reset_voices()
331 &s->card, in cs_reset_voices()
332 s->voice, in cs_reset_voices()
339 if (s->dregs[Interface_Configuration] & PEN) { in cs_reset_voices()
340 if (!s->dma_running) { in cs_reset_voices()
341 k->hold_DREQ(s->isa_dma, s->dma); in cs_reset_voices()
342 AUD_set_active_out (s->voice, 1); in cs_reset_voices()
343 s->transferred = 0; in cs_reset_voices()
345 s->dma_running = 1; in cs_reset_voices()
348 if (s->dma_running) { in cs_reset_voices()
349 k->release_DREQ(s->isa_dma, s->dma); in cs_reset_voices()
350 AUD_set_active_out (s->voice, 0); in cs_reset_voices()
352 s->dma_running = 0; in cs_reset_voices()
357 if (s->dma_running) { in cs_reset_voices()
358 k->release_DREQ(s->isa_dma, s->dma); in cs_reset_voices()
359 AUD_set_active_out (s->voice, 0); in cs_reset_voices()
373 ret = s->regs[saddr] & ~0x80; in cs_read()
377 if (!(s->dregs[MODE_And_ID] & MODE2)) in cs_read()
378 iaddr = s->regs[Index_Address] & 0x0f; in cs_read()
380 iaddr = s->regs[Index_Address] & 0x1f; in cs_read()
382 ret = s->dregs[iaddr]; in cs_read()
385 if (s->aci_counter) { in cs_read()
387 s->aci_counter -= 1; in cs_read()
393 ret = s->regs[saddr]; in cs_read()
396 dolog ("read %d:%d -> %d\n", saddr, iaddr, ret); in cs_read()
411 if (!(s->regs[Index_Address] & MCE) && (val & MCE) in cs_write()
412 && (s->dregs[Interface_Configuration] & (3 << 3))) in cs_write()
413 s->aci_counter = conf.aci_counter; in cs_write()
415 s->regs[Index_Address] = val & ~(1 << 7); in cs_write()
419 if (!(s->dregs[MODE_And_ID] & MODE2)) in cs_write()
420 iaddr = s->regs[Index_Address] & 0x0f; in cs_write()
422 iaddr = s->regs[Index_Address] & 0x1f; in cs_write()
433 if (s->regs[Index_Address] & MCE) { in cs_write()
437 if (s->dregs[Alternate_Feature_Status] & PMCE) { in cs_write()
438 val = (val & ~0x0f) | (s->dregs[iaddr] & 0x0f); in cs_write()
443 s->regs[Index_Address], in cs_write()
444 s->dregs[Alternate_Feature_Status], in cs_write()
449 s->dregs[iaddr] = val; in cs_write()
454 s->dregs[iaddr] = val; in cs_write()
460 if (!s->dma_running) { in cs_write()
461 cs_reset_voices (s, s->dregs[FS_And_Playback_Data_Format]); in cs_write()
465 if (s->dma_running) { in cs_write()
466 IsaDmaClass *k = ISADMA_GET_CLASS(s->isa_dma); in cs_write()
467 k->release_DREQ(s->isa_dma, s->dma); in cs_write()
468 AUD_set_active_out (s->voice, 0); in cs_write()
469 s->dma_running = 0; in cs_write()
481 s->dregs[iaddr] |= MODE2; in cs_write()
483 s->dregs[iaddr] &= ~MODE2; in cs_write()
489 s->dregs[iaddr] = val; in cs_write()
493 if ((s->dregs[iaddr] & PI) && !(val & PI)) { in cs_write()
495 qemu_irq_lower (s->pic); in cs_write()
496 s->regs[Status] &= ~INT; in cs_write()
498 s->dregs[iaddr] = val; in cs_write()
503 s->dregs[iaddr] = val; in cs_write()
507 s->dregs[iaddr] = val; in cs_write()
514 if (s->regs[Status] & INT) { in cs_write()
515 qemu_irq_lower (s->pic); in cs_write()
517 s->regs[Status] &= ~INT; in cs_write()
518 s->dregs[Alternate_Feature_Status] &= ~(PI | CI | TI); in cs_write()
532 IsaDmaClass *k = ISADMA_GET_CLASS(s->isa_dma); in cs_write_audio()
538 int left = dma_len - dma_pos; in cs_write_audio()
547 copied = k->read_memory(s->isa_dma, nchan, tmpbuf, dma_pos, to_copy); in cs_write_audio()
548 if (s->tab) { in cs_write_audio()
553 linbuf[i] = s->tab[tmpbuf[i]]; in cs_write_audio()
554 copied = AUD_write (s->voice, linbuf, copied << 1); in cs_write_audio()
558 copied = AUD_write (s->voice, tmpbuf, copied); in cs_write_audio()
561 temp -= copied; in cs_write_audio()
577 int till = -1; in cs_dma_read()
579 copy = s->voice ? (s->audio_free >> (s->tab != NULL)) : dma_len; in cs_dma_read()
581 if (s->dregs[Pin_Control] & IEN) { in cs_dma_read()
582 till = (s->dregs[Playback_Lower_Base_Count] in cs_dma_read()
583 | (s->dregs[Playback_Upper_Base_Count] << 8)) << s->shift; in cs_dma_read()
584 till -= s->transferred; in cs_dma_read()
595 s->audio_free -= (written << (s->tab != NULL)); in cs_dma_read()
598 s->regs[Status] |= INT; in cs_dma_read()
599 s->dregs[Alternate_Feature_Status] |= PI; in cs_dma_read()
600 s->transferred = 0; in cs_dma_read()
601 qemu_irq_raise (s->pic); in cs_dma_read()
604 s->transferred += written; in cs_dma_read()
614 if (s->dma_running) { in cs4231a_pre_load()
615 IsaDmaClass *k = ISADMA_GET_CLASS(s->isa_dma); in cs4231a_pre_load()
616 k->release_DREQ(s->isa_dma, s->dma); in cs4231a_pre_load()
617 AUD_set_active_out (s->voice, 0); in cs4231a_pre_load()
619 s->dma_running = 0; in cs4231a_pre_load()
627 if (s->dma_running && (s->dregs[Interface_Configuration] & PEN)) { in cs4231a_post_load()
628 s->dma_running = 0; in cs4231a_post_load()
629 cs_reset_voices (s, s->dregs[FS_And_Playback_Data_Format]); in cs4231a_post_load()
664 memory_region_init_io (&s->ioports, OBJECT(s), &cs_ioport_ops, s, in cs4231a_initfn()
675 s->isa_dma = isa_bus_get_dma(bus, s->dma); in cs4231a_realizefn()
676 if (!s->isa_dma) { in cs4231a_realizefn()
681 if (!AUD_register_card ("cs4231a", &s->card, errp)) { in cs4231a_realizefn()
685 s->pic = isa_bus_get_irq(bus, s->irq); in cs4231a_realizefn()
686 k = ISADMA_GET_CLASS(s->isa_dma); in cs4231a_realizefn()
687 k->register_channel(s->isa_dma, s->dma, cs_dma_read, s); in cs4231a_realizefn()
689 isa_register_ioport (d, &s->ioports, s->port); in cs4231a_realizefn()
704 dc->realize = cs4231a_realizefn; in cs4231a_class_initfn()
706 set_bit(DEVICE_CATEGORY_SOUND, dc->categories); in cs4231a_class_initfn()
707 dc->desc = "Crystal Semiconductor CS4231A"; in cs4231a_class_initfn()
708 dc->vmsd = &vmstate_cs4231a; in cs4231a_class_initfn()