Lines Matching refs:emu
42 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_spdif_get() local
49 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_spdif_get()
50 ucontrol->value.iec958.status[0] = (emu->spdif_bits[idx] >> 0) & 0xff; in snd_emu10k1_spdif_get()
51 ucontrol->value.iec958.status[1] = (emu->spdif_bits[idx] >> 8) & 0xff; in snd_emu10k1_spdif_get()
52 ucontrol->value.iec958.status[2] = (emu->spdif_bits[idx] >> 16) & 0xff; in snd_emu10k1_spdif_get()
53 ucontrol->value.iec958.status[3] = (emu->spdif_bits[idx] >> 24) & 0xff; in snd_emu10k1_spdif_get()
54 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_spdif_get()
381 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_input_output_source_info() local
383 if (emu->card_capabilities->emu_model == EMU_MODEL_EMU1616) in snd_emu1010_input_output_source_info()
392 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_output_source_get() local
398 (emu->card_capabilities->emu_model == EMU_MODEL_EMU1616 && in snd_emu1010_output_source_get()
401 ucontrol->value.enumerated.item[0] = emu->emu1010.output_source[channel]; in snd_emu1010_output_source_get()
408 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_output_source_put() local
414 (emu->card_capabilities->emu_model == EMU_MODEL_EMU1616 && in snd_emu1010_output_source_put()
420 (emu->card_capabilities->emu_model == EMU_MODEL_EMU1616 && in snd_emu1010_output_source_put()
423 if (emu->emu1010.output_source[channel] == val) in snd_emu1010_output_source_put()
425 emu->emu1010.output_source[channel] = val; in snd_emu1010_output_source_put()
426 if (emu->card_capabilities->emu_model == EMU_MODEL_EMU1616) in snd_emu1010_output_source_put()
427 snd_emu1010_fpga_link_dst_src_write(emu, in snd_emu1010_output_source_put()
430 snd_emu1010_fpga_link_dst_src_write(emu, in snd_emu1010_output_source_put()
438 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_input_source_get() local
445 ucontrol->value.enumerated.item[0] = emu->emu1010.input_source[channel]; in snd_emu1010_input_source_get()
452 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_input_source_put() local
458 (emu->card_capabilities->emu_model == EMU_MODEL_EMU1616 && in snd_emu1010_input_source_put()
465 if (emu->emu1010.input_source[channel] == val) in snd_emu1010_input_source_put()
467 emu->emu1010.input_source[channel] = val; in snd_emu1010_input_source_put()
468 if (emu->card_capabilities->emu_model == EMU_MODEL_EMU1616) in snd_emu1010_input_source_put()
469 snd_emu1010_fpga_link_dst_src_write(emu, in snd_emu1010_input_source_put()
472 snd_emu1010_fpga_link_dst_src_write(emu, in snd_emu1010_input_source_put()
579 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_adc_pads_get() local
581 ucontrol->value.integer.value[0] = (emu->emu1010.adc_pads & mask) ? 1 : 0; in snd_emu1010_adc_pads_get()
587 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_adc_pads_put() local
591 cache = emu->emu1010.adc_pads; in snd_emu1010_adc_pads_put()
596 if (cache != emu->emu1010.adc_pads) { in snd_emu1010_adc_pads_put()
597 snd_emu1010_fpga_write(emu, EMU_HANA_ADC_PADS, cache ); in snd_emu1010_adc_pads_put()
598 emu->emu1010.adc_pads = cache; in snd_emu1010_adc_pads_put()
627 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_dac_pads_get() local
629 ucontrol->value.integer.value[0] = (emu->emu1010.dac_pads & mask) ? 1 : 0; in snd_emu1010_dac_pads_get()
635 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_dac_pads_put() local
639 cache = emu->emu1010.dac_pads; in snd_emu1010_dac_pads_put()
644 if (cache != emu->emu1010.dac_pads) { in snd_emu1010_dac_pads_put()
645 snd_emu1010_fpga_write(emu, EMU_HANA_DAC_PADS, cache ); in snd_emu1010_dac_pads_put()
646 emu->emu1010.dac_pads = cache; in snd_emu1010_dac_pads_put()
686 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_internal_clock_get() local
688 ucontrol->value.enumerated.item[0] = emu->emu1010.internal_clock; in snd_emu1010_internal_clock_get()
695 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_internal_clock_put() local
703 change = (emu->emu1010.internal_clock != val); in snd_emu1010_internal_clock_put()
705 emu->emu1010.internal_clock = val; in snd_emu1010_internal_clock_put()
710 snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_MUTE ); in snd_emu1010_internal_clock_put()
712 snd_emu1010_fpga_write(emu, EMU_HANA_DEFCLOCK, EMU_HANA_DEFCLOCK_44_1K ); in snd_emu1010_internal_clock_put()
714 snd_emu1010_fpga_write(emu, EMU_HANA_WCLOCK, in snd_emu1010_internal_clock_put()
717 snd_emu1010_fpga_write(emu, EMU_HANA_DOCK_LEDS_2, in snd_emu1010_internal_clock_put()
722 snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_UNMUTE ); in snd_emu1010_internal_clock_put()
727 snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_MUTE ); in snd_emu1010_internal_clock_put()
729 snd_emu1010_fpga_write(emu, EMU_HANA_DEFCLOCK, EMU_HANA_DEFCLOCK_48K ); in snd_emu1010_internal_clock_put()
731 snd_emu1010_fpga_write(emu, EMU_HANA_WCLOCK, in snd_emu1010_internal_clock_put()
734 snd_emu1010_fpga_write(emu, EMU_HANA_DOCK_LEDS_2, in snd_emu1010_internal_clock_put()
739 snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_UNMUTE ); in snd_emu1010_internal_clock_put()
744 snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_MUTE ); in snd_emu1010_internal_clock_put()
746 snd_emu1010_fpga_write(emu, EMU_HANA_DEFCLOCK, EMU_HANA_DEFCLOCK_48K ); in snd_emu1010_internal_clock_put()
748 snd_emu1010_fpga_write(emu, EMU_HANA_WCLOCK, in snd_emu1010_internal_clock_put()
751 snd_emu1010_fpga_write(emu, EMU_HANA_DOCK_LEDS_2, in snd_emu1010_internal_clock_put()
757 snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_UNMUTE ); in snd_emu1010_internal_clock_put()
763 snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_MUTE ); in snd_emu1010_internal_clock_put()
765 snd_emu1010_fpga_write(emu, EMU_HANA_DEFCLOCK, EMU_HANA_DEFCLOCK_48K ); in snd_emu1010_internal_clock_put()
767 snd_emu1010_fpga_write(emu, EMU_HANA_WCLOCK, in snd_emu1010_internal_clock_put()
770 …snd_emu1010_fpga_write(emu, EMU_HANA_DOCK_LEDS_2, EMU_HANA_DOCK_LEDS_2_EXT | EMU_HANA_DOCK_LEDS_2_… in snd_emu1010_internal_clock_put()
775 snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_UNMUTE ); in snd_emu1010_internal_clock_put()
808 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_optical_out_get() local
810 ucontrol->value.enumerated.item[0] = emu->emu1010.optical_out; in snd_emu1010_optical_out_get()
817 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_optical_out_put() local
826 change = (emu->emu1010.optical_out != val); in snd_emu1010_optical_out_put()
828 emu->emu1010.optical_out = val; in snd_emu1010_optical_out_put()
829 tmp = (emu->emu1010.optical_in ? EMU_HANA_OPTICAL_IN_ADAT : 0) | in snd_emu1010_optical_out_put()
830 (emu->emu1010.optical_out ? EMU_HANA_OPTICAL_OUT_ADAT : 0); in snd_emu1010_optical_out_put()
831 snd_emu1010_fpga_write(emu, EMU_HANA_OPTICAL_TYPE, tmp); in snd_emu1010_optical_out_put()
859 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_optical_in_get() local
861 ucontrol->value.enumerated.item[0] = emu->emu1010.optical_in; in snd_emu1010_optical_in_get()
868 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu1010_optical_in_put() local
877 change = (emu->emu1010.optical_in != val); in snd_emu1010_optical_in_put()
879 emu->emu1010.optical_in = val; in snd_emu1010_optical_in_put()
880 tmp = (emu->emu1010.optical_in ? EMU_HANA_OPTICAL_IN_ADAT : 0) | in snd_emu1010_optical_in_put()
881 (emu->emu1010.optical_out ? EMU_HANA_OPTICAL_OUT_ADAT : 0); in snd_emu1010_optical_in_put()
882 snd_emu1010_fpga_write(emu, EMU_HANA_OPTICAL_TYPE, tmp); in snd_emu1010_optical_in_put()
915 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_audigy_i2c_capture_source_get() local
917 ucontrol->value.enumerated.item[0] = emu->i2c_capture_source; in snd_audigy_i2c_capture_source_get()
924 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_audigy_i2c_capture_source_put() local
940 change = (emu->i2c_capture_source != source_id); in snd_audigy_i2c_capture_source_put()
942 snd_emu10k1_i2c_write(emu, ADC_MUX, 0); /* Mute input */ in snd_audigy_i2c_capture_source_put()
943 spin_lock_irqsave(&emu->emu_lock, flags); in snd_audigy_i2c_capture_source_put()
944 gpio = inl(emu->port + A_IOCFG); in snd_audigy_i2c_capture_source_put()
946 outl(gpio | 0x4, emu->port + A_IOCFG); in snd_audigy_i2c_capture_source_put()
948 outl(gpio & ~0x4, emu->port + A_IOCFG); in snd_audigy_i2c_capture_source_put()
949 spin_unlock_irqrestore(&emu->emu_lock, flags); in snd_audigy_i2c_capture_source_put()
951 ngain = emu->i2c_capture_volume[source_id][0]; /* Left */ in snd_audigy_i2c_capture_source_put()
952 ogain = emu->i2c_capture_volume[emu->i2c_capture_source][0]; /* Left */ in snd_audigy_i2c_capture_source_put()
954 snd_emu10k1_i2c_write(emu, ADC_ATTEN_ADCL, ((ngain) & 0xff)); in snd_audigy_i2c_capture_source_put()
955 ngain = emu->i2c_capture_volume[source_id][1]; /* Right */ in snd_audigy_i2c_capture_source_put()
956 ogain = emu->i2c_capture_volume[emu->i2c_capture_source][1]; /* Right */ in snd_audigy_i2c_capture_source_put()
958 snd_emu10k1_i2c_write(emu, ADC_ATTEN_ADCR, ((ngain) & 0xff)); in snd_audigy_i2c_capture_source_put()
961 snd_emu10k1_i2c_write(emu, ADC_MUX, source); /* Set source */ in snd_audigy_i2c_capture_source_put()
962 emu->i2c_capture_source = source_id; in snd_audigy_i2c_capture_source_put()
989 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_audigy_i2c_volume_get() local
998 ucontrol->value.integer.value[0] = emu->i2c_capture_volume[source_id][0]; in snd_audigy_i2c_volume_get()
999 ucontrol->value.integer.value[1] = emu->i2c_capture_volume[source_id][1]; in snd_audigy_i2c_volume_get()
1006 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_audigy_i2c_volume_put() local
1017 ogain = emu->i2c_capture_volume[source_id][0]; /* Left */ in snd_audigy_i2c_volume_put()
1022 if (emu->i2c_capture_source == source_id) in snd_audigy_i2c_volume_put()
1023 snd_emu10k1_i2c_write(emu, ADC_ATTEN_ADCL, ((ngain) & 0xff) ); in snd_audigy_i2c_volume_put()
1024 emu->i2c_capture_volume[source_id][0] = ngain; in snd_audigy_i2c_volume_put()
1027 ogain = emu->i2c_capture_volume[source_id][1]; /* Right */ in snd_audigy_i2c_volume_put()
1032 if (emu->i2c_capture_source == source_id) in snd_audigy_i2c_volume_put()
1033 snd_emu10k1_i2c_write(emu, ADC_ATTEN_ADCR, ((ngain) & 0xff)); in snd_audigy_i2c_volume_put()
1034 emu->i2c_capture_volume[source_id][1] = ngain; in snd_audigy_i2c_volume_put()
1070 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
1075 spin_lock_irqsave(&emu->reg_lock, flags);
1076 tmp = snd_emu10k1_ptr_read(emu, A_SPDIF_SAMPLERATE, 0);
1090 spin_unlock_irqrestore(&emu->reg_lock, flags);
1097 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
1118 spin_lock_irqsave(&emu->reg_lock, flags);
1119 reg = snd_emu10k1_ptr_read(emu, A_SPDIF_SAMPLERATE, 0);
1124 snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, 0, tmp);
1125 spin_unlock_irqrestore(&emu->reg_lock, flags);
1144 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_spdif_put() local
1157 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_spdif_put()
1158 change = val != emu->spdif_bits[idx]; in snd_emu10k1_spdif_put()
1160 snd_emu10k1_ptr_write(emu, SPCS0 + idx, 0, val); in snd_emu10k1_spdif_put()
1161 emu->spdif_bits[idx] = val; in snd_emu10k1_spdif_put()
1163 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_spdif_put()
1188 static void update_emu10k1_fxrt(struct snd_emu10k1 *emu, int voice, unsigned char *route) in update_emu10k1_fxrt() argument
1190 if (emu->audigy) { in update_emu10k1_fxrt()
1191 snd_emu10k1_ptr_write(emu, A_FXRT1, voice, in update_emu10k1_fxrt()
1193 snd_emu10k1_ptr_write(emu, A_FXRT2, voice, in update_emu10k1_fxrt()
1196 snd_emu10k1_ptr_write(emu, FXRT, voice, in update_emu10k1_fxrt()
1201 static void update_emu10k1_send_volume(struct snd_emu10k1 *emu, int voice, unsigned char *volume) in update_emu10k1_send_volume() argument
1203 snd_emu10k1_ptr_write(emu, PTRX_FXSENDAMOUNT_A, voice, volume[0]); in update_emu10k1_send_volume()
1204 snd_emu10k1_ptr_write(emu, PTRX_FXSENDAMOUNT_B, voice, volume[1]); in update_emu10k1_send_volume()
1205 snd_emu10k1_ptr_write(emu, PSST_FXSENDAMOUNT_C, voice, volume[2]); in update_emu10k1_send_volume()
1206 snd_emu10k1_ptr_write(emu, DSL_FXSENDAMOUNT_D, voice, volume[3]); in update_emu10k1_send_volume()
1207 if (emu->audigy) { in update_emu10k1_send_volume()
1212 snd_emu10k1_ptr_write(emu, A_SENDAMOUNTS, voice, val); in update_emu10k1_send_volume()
1220 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_send_routing_info() local
1222 uinfo->count = emu->audigy ? 3*8 : 3*4; in snd_emu10k1_send_routing_info()
1224 uinfo->value.integer.max = emu->audigy ? 0x3f : 0x0f; in snd_emu10k1_send_routing_info()
1232 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_send_routing_get() local
1234 &emu->pcm_mixer[snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)]; in snd_emu10k1_send_routing_get()
1236 int num_efx = emu->audigy ? 8 : 4; in snd_emu10k1_send_routing_get()
1237 int mask = emu->audigy ? 0x3f : 0x0f; in snd_emu10k1_send_routing_get()
1239 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_send_routing_get()
1244 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_send_routing_get()
1252 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_send_routing_put() local
1254 &emu->pcm_mixer[snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)]; in snd_emu10k1_send_routing_put()
1256 int num_efx = emu->audigy ? 8 : 4; in snd_emu10k1_send_routing_put()
1257 int mask = emu->audigy ? 0x3f : 0x0f; in snd_emu10k1_send_routing_put()
1259 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_send_routing_put()
1270 update_emu10k1_fxrt(emu, mix->epcm->voices[0]->number, in snd_emu10k1_send_routing_put()
1272 update_emu10k1_fxrt(emu, mix->epcm->voices[1]->number, in snd_emu10k1_send_routing_put()
1275 update_emu10k1_fxrt(emu, mix->epcm->voices[0]->number, in snd_emu10k1_send_routing_put()
1279 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_send_routing_put()
1296 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_send_volume_info() local
1298 uinfo->count = emu->audigy ? 3*8 : 3*4; in snd_emu10k1_send_volume_info()
1308 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_send_volume_get() local
1310 &emu->pcm_mixer[snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)]; in snd_emu10k1_send_volume_get()
1312 int num_efx = emu->audigy ? 8 : 4; in snd_emu10k1_send_volume_get()
1314 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_send_volume_get()
1317 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_send_volume_get()
1325 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_send_volume_put() local
1327 &emu->pcm_mixer[snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)]; in snd_emu10k1_send_volume_put()
1329 int num_efx = emu->audigy ? 8 : 4; in snd_emu10k1_send_volume_put()
1331 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_send_volume_put()
1341 update_emu10k1_send_volume(emu, mix->epcm->voices[0]->number, in snd_emu10k1_send_volume_put()
1343 update_emu10k1_send_volume(emu, mix->epcm->voices[1]->number, in snd_emu10k1_send_volume_put()
1346 update_emu10k1_send_volume(emu, mix->epcm->voices[0]->number, in snd_emu10k1_send_volume_put()
1350 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_send_volume_put()
1377 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_attn_get() local
1379 &emu->pcm_mixer[snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)]; in snd_emu10k1_attn_get()
1383 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_attn_get()
1386 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_attn_get()
1394 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_attn_put() local
1396 &emu->pcm_mixer[snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)]; in snd_emu10k1_attn_put()
1399 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_attn_put()
1409 snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[0]->number, mix->attn[1]); in snd_emu10k1_attn_put()
1410 snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[1]->number, mix->attn[2]); in snd_emu10k1_attn_put()
1412 snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[0]->number, mix->attn[0]); in snd_emu10k1_attn_put()
1415 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_attn_put()
1434 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_efx_send_routing_info() local
1436 uinfo->count = emu->audigy ? 8 : 4; in snd_emu10k1_efx_send_routing_info()
1438 uinfo->value.integer.max = emu->audigy ? 0x3f : 0x0f; in snd_emu10k1_efx_send_routing_info()
1446 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_efx_send_routing_get() local
1448 &emu->efx_pcm_mixer[snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)]; in snd_emu10k1_efx_send_routing_get()
1450 int num_efx = emu->audigy ? 8 : 4; in snd_emu10k1_efx_send_routing_get()
1451 int mask = emu->audigy ? 0x3f : 0x0f; in snd_emu10k1_efx_send_routing_get()
1453 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_efx_send_routing_get()
1457 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_efx_send_routing_get()
1465 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_efx_send_routing_put() local
1467 struct snd_emu10k1_pcm_mixer *mix = &emu->efx_pcm_mixer[ch]; in snd_emu10k1_efx_send_routing_put()
1469 int num_efx = emu->audigy ? 8 : 4; in snd_emu10k1_efx_send_routing_put()
1470 int mask = emu->audigy ? 0x3f : 0x0f; in snd_emu10k1_efx_send_routing_put()
1472 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_efx_send_routing_put()
1483 update_emu10k1_fxrt(emu, mix->epcm->voices[ch]->number, in snd_emu10k1_efx_send_routing_put()
1487 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_efx_send_routing_put()
1504 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_efx_send_volume_info() local
1506 uinfo->count = emu->audigy ? 8 : 4; in snd_emu10k1_efx_send_volume_info()
1516 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_efx_send_volume_get() local
1518 &emu->efx_pcm_mixer[snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)]; in snd_emu10k1_efx_send_volume_get()
1520 int num_efx = emu->audigy ? 8 : 4; in snd_emu10k1_efx_send_volume_get()
1522 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_efx_send_volume_get()
1525 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_efx_send_volume_get()
1533 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_efx_send_volume_put() local
1535 struct snd_emu10k1_pcm_mixer *mix = &emu->efx_pcm_mixer[ch]; in snd_emu10k1_efx_send_volume_put()
1537 int num_efx = emu->audigy ? 8 : 4; in snd_emu10k1_efx_send_volume_put()
1539 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_efx_send_volume_put()
1549 update_emu10k1_send_volume(emu, mix->epcm->voices[ch]->number, in snd_emu10k1_efx_send_volume_put()
1553 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_efx_send_volume_put()
1581 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_efx_attn_get() local
1583 &emu->efx_pcm_mixer[snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)]; in snd_emu10k1_efx_attn_get()
1586 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_efx_attn_get()
1588 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_efx_attn_get()
1596 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_efx_attn_put() local
1598 struct snd_emu10k1_pcm_mixer *mix = &emu->efx_pcm_mixer[ch]; in snd_emu10k1_efx_attn_put()
1601 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_efx_attn_put()
1609 snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[ch]->number, mix->attn[0]); in snd_emu10k1_efx_attn_put()
1612 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_efx_attn_put()
1632 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_shared_spdif_get() local
1634 if (emu->audigy) in snd_emu10k1_shared_spdif_get()
1635 ucontrol->value.integer.value[0] = inl(emu->port + A_IOCFG) & A_IOCFG_GPOUT0 ? 1 : 0; in snd_emu10k1_shared_spdif_get()
1637 ucontrol->value.integer.value[0] = inl(emu->port + HCFG) & HCFG_GPOUT0 ? 1 : 0; in snd_emu10k1_shared_spdif_get()
1638 if (emu->card_capabilities->invert_shared_spdif) in snd_emu10k1_shared_spdif_get()
1649 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_emu10k1_shared_spdif_put() local
1654 if (emu->card_capabilities->invert_shared_spdif) in snd_emu10k1_shared_spdif_put()
1656 spin_lock_irqsave(&emu->reg_lock, flags); in snd_emu10k1_shared_spdif_put()
1657 if ( emu->card_capabilities->i2c_adc) { in snd_emu10k1_shared_spdif_put()
1659 } else if (emu->audigy) { in snd_emu10k1_shared_spdif_put()
1660 reg = inl(emu->port + A_IOCFG); in snd_emu10k1_shared_spdif_put()
1666 outl(reg | val, emu->port + A_IOCFG); in snd_emu10k1_shared_spdif_put()
1669 reg = inl(emu->port + HCFG); in snd_emu10k1_shared_spdif_put()
1675 outl(reg | val, emu->port + HCFG); in snd_emu10k1_shared_spdif_put()
1677 spin_unlock_irqrestore(&emu->reg_lock, flags); in snd_emu10k1_shared_spdif_put()
1706 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_audigy_capture_boost_get() local
1710 val = snd_ac97_read(emu->ac97, AC97_REC_GAIN); in snd_audigy_capture_boost_get()
1718 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol); in snd_audigy_capture_boost_put() local
1725 return snd_ac97_update(emu->ac97, AC97_REC_GAIN, val); in snd_audigy_capture_boost_put()
1742 struct snd_emu10k1 *emu = ac97->private_data; in snd_emu10k1_mixer_free_ac97() local
1743 emu->ac97 = NULL; in snd_emu10k1_mixer_free_ac97()
1776 int snd_emu10k1_mixer(struct snd_emu10k1 *emu, in snd_emu10k1_mixer() argument
1781 struct snd_card *card = emu->card; in snd_emu10k1_mixer()
1899 if (emu->card_capabilities->ac97_chip) { in snd_emu10k1_mixer()
1907 err = snd_ac97_bus(emu->card, 0, &ops, NULL, &pbus); in snd_emu10k1_mixer()
1913 ac97.private_data = emu; in snd_emu10k1_mixer()
1916 err = snd_ac97_mixer(pbus, &ac97, &emu->ac97); in snd_emu10k1_mixer()
1918 if (emu->card_capabilities->ac97_chip == 1) in snd_emu10k1_mixer()
1920 dev_info(emu->card->dev, in snd_emu10k1_mixer()
1922 dev_info(emu->card->dev, in snd_emu10k1_mixer()
1924 snd_device_free(emu->card, pbus); in snd_emu10k1_mixer()
1927 if (emu->audigy) { in snd_emu10k1_mixer()
1929 snd_ac97_write_cache(emu->ac97, AC97_MASTER, 0x0000); in snd_emu10k1_mixer()
1931 snd_ac97_write_cache(emu->ac97, AC97_REC_SEL, 0x0000); in snd_emu10k1_mixer()
1933 snd_ac97_update_bits(emu->ac97, AC97_GENERAL_PURPOSE, in snd_emu10k1_mixer()
1935 if (emu->card_capabilities->adc_1361t) in snd_emu10k1_mixer()
1945 if (emu->ac97->id == AC97_ID_STAC9758) { in snd_emu10k1_mixer()
1946 emu->rear_ac97 = 1; in snd_emu10k1_mixer()
1947 …snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_CNTR|AC97SLOT_LFE|AC97SLOT_REAR_LEFT|AC97SLOT_REA… in snd_emu10k1_mixer()
1948 snd_ac97_write_cache(emu->ac97, AC97_HEADPHONE, 0x0202); in snd_emu10k1_mixer()
1953 snd_ac97_write_cache(emu->ac97, AC97_SURROUND_MASTER, 0x0202); in snd_emu10k1_mixer()
1954 snd_ac97_write_cache(emu->ac97, AC97_CENTER_LFE_MASTER, 0x0202); in snd_emu10k1_mixer()
1959 } else if (emu->card_capabilities->i2c_adc) { in snd_emu10k1_mixer()
1965 if (emu->card_capabilities->ecard) in snd_emu10k1_mixer()
1966 strcpy(emu->card->mixername, "EMU APS"); in snd_emu10k1_mixer()
1967 else if (emu->audigy) in snd_emu10k1_mixer()
1968 strcpy(emu->card->mixername, "SB Audigy"); in snd_emu10k1_mixer()
1970 strcpy(emu->card->mixername, "Emu10k1"); in snd_emu10k1_mixer()
1973 if (emu->audigy) in snd_emu10k1_mixer()
1974 if (emu->card_capabilities->adc_1361t) in snd_emu10k1_mixer()
1976 else if (emu->card_capabilities->i2c_adc) in snd_emu10k1_mixer()
1985 if (emu->card_capabilities->subsystem == 0x80401102) { /* SB Live! Platinum CT4760P */ in snd_emu10k1_mixer()
1991 if (emu->card_capabilities->subsystem == 0x20071102) { /* Audigy 4 Pro */ in snd_emu10k1_mixer()
1997 kctl = emu->ctl_send_routing = snd_ctl_new1(&snd_emu10k1_send_routing_control, emu); in snd_emu10k1_mixer()
2004 kctl = emu->ctl_send_volume = snd_ctl_new1(&snd_emu10k1_send_volume_control, emu); in snd_emu10k1_mixer()
2011 kctl = emu->ctl_attn = snd_ctl_new1(&snd_emu10k1_attn_control, emu); in snd_emu10k1_mixer()
2019 kctl = emu->ctl_efx_send_routing = snd_ctl_new1(&snd_emu10k1_efx_send_routing_control, emu); in snd_emu10k1_mixer()
2027 kctl = emu->ctl_efx_send_volume = snd_ctl_new1(&snd_emu10k1_efx_send_volume_control, emu); in snd_emu10k1_mixer()
2035 kctl = emu->ctl_efx_attn = snd_ctl_new1(&snd_emu10k1_efx_attn_control, emu); in snd_emu10k1_mixer()
2048 mix = &emu->pcm_mixer[pcm]; in snd_emu10k1_mixer()
2068 mix = &emu->efx_pcm_mixer[pcm]; in snd_emu10k1_mixer()
2075 if (emu->audigy) in snd_emu10k1_mixer()
2085 if (! emu->card_capabilities->ecard) { /* FIXME: APS has these controls? */ in snd_emu10k1_mixer()
2087 kctl = snd_ctl_new1(&snd_emu10k1_spdif_mask_control, emu); in snd_emu10k1_mixer()
2090 if (!emu->audigy) in snd_emu10k1_mixer()
2091 kctl->id.device = emu->pcm_efx->device; in snd_emu10k1_mixer()
2095 kctl = snd_ctl_new1(&snd_emu10k1_spdif_control, emu); in snd_emu10k1_mixer()
2098 if (!emu->audigy) in snd_emu10k1_mixer()
2099 kctl->id.device = emu->pcm_efx->device; in snd_emu10k1_mixer()
2105 if (emu->card_capabilities->emu_model) { in snd_emu10k1_mixer()
2107 } else if (emu->audigy) { in snd_emu10k1_mixer()
2108 kctl = snd_ctl_new1(&snd_audigy_shared_spdif, emu); in snd_emu10k1_mixer()
2115 kctl = snd_ctl_new1(&snd_audigy_spdif_output_rate, emu); in snd_emu10k1_mixer()
2122 } else if (! emu->card_capabilities->ecard) { in snd_emu10k1_mixer()
2124 kctl = snd_ctl_new1(&snd_emu10k1_shared_spdif, emu); in snd_emu10k1_mixer()
2131 if (emu->card_capabilities->ca0151_chip) { /* P16V */ in snd_emu10k1_mixer()
2132 err = snd_p16v_mixer(emu); in snd_emu10k1_mixer()
2137 if (emu->card_capabilities->emu_model == EMU_MODEL_EMU1616) { in snd_emu10k1_mixer()
2144 emu)); in snd_emu10k1_mixer()
2151 emu)); in snd_emu10k1_mixer()
2157 snd_ctl_new1(&snd_emu1010_adc_pads[i], emu)); in snd_emu10k1_mixer()
2163 snd_ctl_new1(&snd_emu1010_dac_pads[i], emu)); in snd_emu10k1_mixer()
2168 snd_ctl_new1(&snd_emu1010_internal_clock, emu)); in snd_emu10k1_mixer()
2172 snd_ctl_new1(&snd_emu1010_optical_out, emu)); in snd_emu10k1_mixer()
2176 snd_ctl_new1(&snd_emu1010_optical_in, emu)); in snd_emu10k1_mixer()
2180 } else if (emu->card_capabilities->emu_model) { in snd_emu10k1_mixer()
2187 emu)); in snd_emu10k1_mixer()
2194 emu)); in snd_emu10k1_mixer()
2200 snd_ctl_new1(&snd_emu1010_adc_pads[i], emu)); in snd_emu10k1_mixer()
2206 snd_ctl_new1(&snd_emu1010_dac_pads[i], emu)); in snd_emu10k1_mixer()
2211 snd_ctl_new1(&snd_emu1010_internal_clock, emu)); in snd_emu10k1_mixer()
2215 snd_ctl_new1(&snd_emu1010_optical_out, emu)); in snd_emu10k1_mixer()
2219 snd_ctl_new1(&snd_emu1010_optical_in, emu)); in snd_emu10k1_mixer()
2224 if ( emu->card_capabilities->i2c_adc) { in snd_emu10k1_mixer()
2227 err = snd_ctl_add(card, snd_ctl_new1(&snd_audigy_i2c_capture_source, emu)); in snd_emu10k1_mixer()
2232 err = snd_ctl_add(card, snd_ctl_new1(&snd_audigy_i2c_volume_ctls[i], emu)); in snd_emu10k1_mixer()
2238 if (emu->card_capabilities->ac97_chip && emu->audigy) { in snd_emu10k1_mixer()
2240 emu)); in snd_emu10k1_mixer()