Lines Matching refs:emu
18 static void snd_emu10k1_proc_spdif_status(struct snd_emu10k1 * emu,
30 status = snd_emu10k1_ptr_read(emu, status_reg, 0);
48 rate = snd_emu10k1_ptr_read(emu, rate_reg, 0);
64 struct snd_emu10k1 *emu = entry->private_data;
65 const char * const *inputs = emu->audigy ?
67 const char * const *outputs = emu->audigy ?
69 unsigned short extin_mask = emu->audigy ? ~0 : emu->fx8010.extin_mask;
70 unsigned short extout_mask = emu->audigy ? ~0 : emu->fx8010.extout_mask;
72 int nefx = emu->audigy ? 32 : 16;
77 emu->card_capabilities->emu_model ? "E-MU D.A.S." :
78 emu->card_capabilities->ecard ? "E-MU A.P.S." :
79 emu->audigy ? "SB Audigy" : "SB Live!");
80 snd_iprintf(buffer, "Internal TRAM (words) : 0x%x\n", emu->fx8010.itram_size);
81 snd_iprintf(buffer, "External TRAM (words) : 0x%x\n", (int)emu->fx8010.etram_pages.bytes / 2);
85 ptrx = snd_emu10k1_ptr_read(emu, PTRX, idx);
86 psst = snd_emu10k1_ptr_read(emu, PSST, idx);
87 dsl = snd_emu10k1_ptr_read(emu, DSL, idx);
88 if (emu->audigy) {
89 val = snd_emu10k1_ptr_read(emu, A_FXRT1, idx);
90 val1 = snd_emu10k1_ptr_read(emu, A_FXRT2, idx);
91 snda = snd_emu10k1_ptr_read(emu, A_SENDAMOUNTS, idx);
104 val = snd_emu10k1_ptr_read(emu, FXRT, idx);
120 if (!emu->card_capabilities->emu_model) {
131 if (emu->efx_voices_mask[0] & (1 << idx))
134 if (emu->audigy) {
136 if (emu->efx_voices_mask[1] & (1 << idx))
141 if (emu->efx_voices_mask[0] & ((1 << 16) << idx)) {
142 if (emu->card_capabilities->sblive51) {
163 struct snd_emu10k1 *emu = entry->private_data;
167 if (emu->card_capabilities->emu_model) {
171 snd_emu1010_fpga_read(emu, EMU_HANA_IRQ_STATUS, &value);
176 snd_emu1010_fpga_read(emu, EMU_HANA_LOCK_STS_LO, &value);
177 snd_emu1010_fpga_read(emu, EMU_HANA_LOCK_STS_HI, &value2);
181 snd_emu1010_get_raw_rate(emu, EMU_HANA_WCLOCK_HANA_SPDIF_IN));
182 if (emu->card_capabilities->emu_model != EMU_MODEL_EMU0404) {
184 snd_emu1010_get_raw_rate(emu, EMU_HANA_WCLOCK_HANA_ADAT_IN));
186 snd_emu1010_get_raw_rate(emu, EMU_HANA_WCLOCK_2ND_HANA));
188 if (emu->card_capabilities->emu_model == EMU_MODEL_EMU0404 ||
189 emu->card_capabilities->emu_model == EMU_MODEL_EMU1010)
191 snd_emu1010_get_raw_rate(emu, EMU_HANA_WCLOCK_SYNC_BNC));
193 snd_emu1010_fpga_read(emu, EMU_HANA_SPDIF_MODE, &value);
201 snd_emu10k1_proc_spdif_status(emu, buffer, "CD-ROM S/PDIF In", CDCS, CDSRCS);
202 snd_emu10k1_proc_spdif_status(emu, buffer, "Optical or Coax S/PDIF In", GPSCS, GPSRCS);
205 val = snd_emu10k1_ptr_read(emu, ZVSRCS, 0);
216 struct snd_emu10k1 *emu = entry->private_data;
218 val = snd_emu10k1_ptr20_read(emu, CAPTURE_RATE_STATUS, 0);
333 struct snd_emu10k1 *emu = entry->private_data;
341 snd_iprintf(buffer, "FX8010 Instruction List '%s'\n", emu->fx8010.name);
343 for (pc = 0; pc < (emu->audigy ? 1024 : 512); pc++) {
349 low = snd_emu10k1_efx_read(emu, pc * 2);
350 high = snd_emu10k1_efx_read(emu, pc * 2 + 1);
351 if (emu->audigy) {
385 struct snd_emu10k1 *emu = entry->private_data;
398 offset = emu->audigy ? A_MICROCODEBASE : MICROCODEBASE;
400 offset = emu->audigy ? A_FXGPREGBASE : FXGPREGBASE;
408 val = snd_emu10k1_ptr_read(emu, offset + idx + (pos >> 2), 0);
409 if (tram_addr && emu->audigy) {
411 val |= snd_emu10k1_ptr_read(emu, 0x100 + idx + (pos >> 2), 0) << 20;
426 struct snd_emu10k1 *emu = entry->private_data;
436 voice = &emu->voices[idx];
447 static void snd_emu_proc_emu1010_link_read(struct snd_emu10k1 *emu,
451 u32 src = snd_emu1010_fpga_link_dst_src_read(emu, dst);
458 struct snd_emu10k1 *emu = entry->private_data;
464 snd_emu1010_fpga_read(emu, i, &value);
471 snd_emu_proc_emu1010_link_read(emu, buffer, i);
472 if (emu->card_capabilities->emu_model != EMU_MODEL_EMU0404)
474 snd_emu_proc_emu1010_link_read(emu, buffer, 0x100 + i);
475 if (emu->card_capabilities->emu_model != EMU_MODEL_EMU1616)
477 snd_emu_proc_emu1010_link_read(emu, buffer, 0x200 + i);
479 snd_emu_proc_emu1010_link_read(emu, buffer, 0x300 + i);
480 if (emu->card_capabilities->emu_model == EMU_MODEL_EMU1616) {
482 snd_emu_proc_emu1010_link_read(emu, buffer, 0x400 + i);
483 } else if (emu->card_capabilities->emu_model != EMU_MODEL_EMU0404) {
485 snd_emu_proc_emu1010_link_read(emu, buffer, 0x400 + i);
486 if (emu->card_capabilities->emu_model == EMU_MODEL_EMU1010B) {
488 snd_emu_proc_emu1010_link_read(emu, buffer, 0x500 + i);
491 snd_emu_proc_emu1010_link_read(emu, buffer, 0x500);
492 snd_emu_proc_emu1010_link_read(emu, buffer, 0x501);
493 snd_emu_proc_emu1010_link_read(emu, buffer, 0x600);
494 snd_emu_proc_emu1010_link_read(emu, buffer, 0x601);
495 snd_emu_proc_emu1010_link_read(emu, buffer, 0x700);
496 snd_emu_proc_emu1010_link_read(emu, buffer, 0x701);
504 struct snd_emu10k1 *emu = entry->private_data;
509 value = inl(emu->port + i);
517 struct snd_emu10k1 *emu = entry->private_data;
524 outl(val, emu->port + (reg & 0xfffffffc));
529 static unsigned int snd_ptr_read(struct snd_emu10k1 * emu,
538 spin_lock_irq(&emu->emu_lock);
539 outl(regptr, emu->port + iobase + PTR);
540 val = inl(emu->port + iobase + DATA);
541 spin_unlock_irq(&emu->emu_lock);
545 static void snd_ptr_write(struct snd_emu10k1 *emu,
555 spin_lock_irq(&emu->emu_lock);
556 outl(regptr, emu->port + iobase + PTR);
557 outl(data, emu->port + iobase + DATA);
558 spin_unlock_irq(&emu->emu_lock);
565 struct snd_emu10k1 *emu = entry->private_data;
576 value = snd_ptr_read(emu, iobase, i, j);
587 struct snd_emu10k1 *emu = entry->private_data;
594 snd_ptr_write(emu, iobase, reg, channel_id, val);
607 struct snd_emu10k1 *emu = entry->private_data;
609 emu->card_capabilities->ca0108_chip ? 0xa0 : 0x80, 4);
648 int snd_emu10k1_proc_init(struct snd_emu10k1 *emu)
652 if (emu->card_capabilities->emu_model) {
653 snd_card_ro_proc_new(emu->card, "emu1010_regs",
654 emu, snd_emu_proc_emu1010_reg_read);
656 snd_card_rw_proc_new(emu->card, "io_regs", emu,
659 snd_card_rw_proc_new(emu->card, "ptr_regs00a", emu,
662 snd_card_rw_proc_new(emu->card, "ptr_regs00b", emu,
665 if (!emu->card_capabilities->emu_model &&
666 (emu->card_capabilities->ca0151_chip || emu->card_capabilities->ca0108_chip)) {
667 snd_card_rw_proc_new(emu->card, "ptr_regs20a", emu,
670 snd_card_rw_proc_new(emu->card, "ptr_regs20b", emu,
673 if (emu->card_capabilities->ca0108_chip)
674 snd_card_rw_proc_new(emu->card, "ptr_regs20c", emu,
680 snd_card_ro_proc_new(emu->card, "emu10k1", emu, snd_emu10k1_proc_read);
682 if (emu->card_capabilities->emu10k2_chip)
683 snd_card_ro_proc_new(emu->card, "spdif-in", emu,
685 if (emu->card_capabilities->ca0151_chip)
686 snd_card_ro_proc_new(emu->card, "capture-rates", emu,
689 snd_card_ro_proc_new(emu->card, "voices", emu,
692 if (! snd_card_proc_new(emu->card, "fx8010_gpr", &entry)) {
694 entry->private_data = emu;
696 entry->size = emu->audigy ? A_TOTAL_SIZE_GPR : TOTAL_SIZE_GPR;
699 if (! snd_card_proc_new(emu->card, "fx8010_tram_data", &entry)) {
701 entry->private_data = emu;
703 entry->size = emu->audigy ? A_TOTAL_SIZE_TANKMEM_DATA : TOTAL_SIZE_TANKMEM_DATA ;
706 if (! snd_card_proc_new(emu->card, "fx8010_tram_addr", &entry)) {
708 entry->private_data = emu;
710 entry->size = emu->audigy ? A_TOTAL_SIZE_TANKMEM_ADDR : TOTAL_SIZE_TANKMEM_ADDR ;
713 if (! snd_card_proc_new(emu->card, "fx8010_code", &entry)) {
715 entry->private_data = emu;
717 entry->size = emu->audigy ? A_TOTAL_SIZE_CODE : TOTAL_SIZE_CODE;
720 snd_card_ro_proc_new(emu->card, "fx8010_acode", emu,