ensoniq 141 sound/pci/ens1370.c #define ES_REG(ensoniq, x) ((ensoniq)->port + ES_REG_##x) ensoniq 520 sound/pci/ens1370.c r = inl(ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 526 sound/pci/ens1370.c ES_REG(ensoniq, 1371_SMPRATE), r); ensoniq 535 sound/pci/ens1370.c temp = orig = snd_es1371_wait_src_ready(ensoniq); ensoniq 541 sound/pci/ens1370.c outl(r, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 544 sound/pci/ens1370.c temp = snd_es1371_wait_src_ready(ensoniq); ensoniq 549 sound/pci/ens1370.c temp = inl(ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 559 sound/pci/ens1370.c outl(r, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 569 sound/pci/ens1370.c r = snd_es1371_wait_src_ready(ensoniq) & ensoniq 573 sound/pci/ens1370.c outl(r | ES_1371_SRC_RAM_WE, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 583 sound/pci/ens1370.c struct ensoniq *ensoniq = ak4531->private_data; ensoniq 588 sound/pci/ens1370.c reg, val, ES_1370_CODEC_WRITE(reg, val), ES_REG(ensoniq, 1370_CODEC)); ensoniq 591 sound/pci/ens1370.c if (!(inl(ES_REG(ensoniq, STATUS)) & ES_1370_CSTAT)) { ensoniq 592 sound/pci/ens1370.c outw(ES_1370_CODEC_WRITE(reg, val), ES_REG(ensoniq, 1370_CODEC)); ensoniq 598 sound/pci/ens1370.c inl(ES_REG(ensoniq, STATUS))); ensoniq 608 sound/pci/ens1370.c struct ensoniq *ensoniq = ac97->private_data; ensoniq 611 sound/pci/ens1370.c mutex_lock(&ensoniq->src_mutex); ensoniq 613 sound/pci/ens1370.c if (!(inl(ES_REG(ensoniq, 1371_CODEC)) & ES_1371_CODEC_WIP)) { ensoniq 615 sound/pci/ens1370.c x = snd_es1371_wait_src_ready(ensoniq); ensoniq 618 sound/pci/ens1370.c ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 622 sound/pci/ens1370.c if ((inl(ES_REG(ensoniq, 1371_SMPRATE)) & 0x00870000) == ensoniq 628 sound/pci/ens1370.c if ((inl(ES_REG(ensoniq, 1371_SMPRATE)) & 0x00870000) == ensoniq 632 sound/pci/ens1370.c outl(ES_1371_CODEC_WRITE(reg, val), ES_REG(ensoniq, 1371_CODEC)); ensoniq 634 sound/pci/ens1370.c snd_es1371_wait_src_ready(ensoniq); ensoniq 635 sound/pci/ens1370.c outl(x, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 636 sound/pci/ens1370.c mutex_unlock(&ensoniq->src_mutex); ensoniq 640 sound/pci/ens1370.c mutex_unlock(&ensoniq->src_mutex); ensoniq 642 sound/pci/ens1370.c ES_REG(ensoniq, 1371_CODEC), inl(ES_REG(ensoniq, 1371_CODEC))); ensoniq 648 sound/pci/ens1370.c struct ensoniq *ensoniq = ac97->private_data; ensoniq 652 sound/pci/ens1370.c mutex_lock(&ensoniq->src_mutex); ensoniq 654 sound/pci/ens1370.c if (!(inl(ES_REG(ensoniq, 1371_CODEC)) & ES_1371_CODEC_WIP)) { ensoniq 656 sound/pci/ens1370.c x = snd_es1371_wait_src_ready(ensoniq); ensoniq 659 sound/pci/ens1370.c ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 663 sound/pci/ens1370.c if ((inl(ES_REG(ensoniq, 1371_SMPRATE)) & 0x00870000) == ensoniq 669 sound/pci/ens1370.c if ((inl(ES_REG(ensoniq, 1371_SMPRATE)) & 0x00870000) == ensoniq 673 sound/pci/ens1370.c outl(ES_1371_CODEC_READS(reg), ES_REG(ensoniq, 1371_CODEC)); ensoniq 675 sound/pci/ens1370.c snd_es1371_wait_src_ready(ensoniq); ensoniq 676 sound/pci/ens1370.c outl(x, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 679 sound/pci/ens1370.c if (!(inl(ES_REG(ensoniq, 1371_CODEC)) & ES_1371_CODEC_WIP)) ensoniq 684 sound/pci/ens1370.c if ((x = inl(ES_REG(ensoniq, 1371_CODEC))) & ES_1371_CODEC_RDY) { ensoniq 685 sound/pci/ens1370.c mutex_unlock(&ensoniq->src_mutex); ensoniq 689 sound/pci/ens1370.c mutex_unlock(&ensoniq->src_mutex); ensoniq 693 sound/pci/ens1370.c ES_REG(ensoniq, 1371_CODEC), reg, ensoniq 694 sound/pci/ens1370.c inl(ES_REG(ensoniq, 1371_CODEC))); ensoniq 700 sound/pci/ens1370.c mutex_unlock(&ensoniq->src_mutex); ensoniq 702 sound/pci/ens1370.c ES_REG(ensoniq, 1371_CODEC), inl(ES_REG(ensoniq, 1371_CODEC))); ensoniq 719 sound/pci/ens1370.c mutex_lock(&ensoniq->src_mutex); ensoniq 729 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_ADC + ES_SMPREG_TRUNC_N, ensoniq 734 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_ADC + ES_SMPREG_TRUNC_N, ensoniq 737 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_ADC + ES_SMPREG_INT_REGS, ensoniq 738 sound/pci/ens1370.c (snd_es1371_src_read(ensoniq, ES_SMPREG_ADC + ensoniq 741 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_ADC + ES_SMPREG_VFREQ_FRAC, freq & 0x7fff); ensoniq 742 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_VOL_ADC, n << 8); ensoniq 743 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_VOL_ADC + 1, n << 8); ensoniq 744 sound/pci/ens1370.c mutex_unlock(&ensoniq->src_mutex); ensoniq 751 sound/pci/ens1370.c mutex_lock(&ensoniq->src_mutex); ensoniq 753 sound/pci/ens1370.c r = (snd_es1371_wait_src_ready(ensoniq) & (ES_1371_SRC_DISABLE | ensoniq 756 sound/pci/ens1370.c outl(r, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 757 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_DAC1 + ES_SMPREG_INT_REGS, ensoniq 758 sound/pci/ens1370.c (snd_es1371_src_read(ensoniq, ES_SMPREG_DAC1 + ensoniq 761 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_DAC1 + ES_SMPREG_VFREQ_FRAC, freq & 0x7fff); ensoniq 762 sound/pci/ens1370.c r = (snd_es1371_wait_src_ready(ensoniq) & (ES_1371_SRC_DISABLE | ensoniq 764 sound/pci/ens1370.c outl(r, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 765 sound/pci/ens1370.c mutex_unlock(&ensoniq->src_mutex); ensoniq 772 sound/pci/ens1370.c mutex_lock(&ensoniq->src_mutex); ensoniq 774 sound/pci/ens1370.c r = (snd_es1371_wait_src_ready(ensoniq) & (ES_1371_SRC_DISABLE | ensoniq 777 sound/pci/ens1370.c outl(r, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 778 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_DAC2 + ES_SMPREG_INT_REGS, ensoniq 779 sound/pci/ens1370.c (snd_es1371_src_read(ensoniq, ES_SMPREG_DAC2 + ensoniq 782 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_DAC2 + ES_SMPREG_VFREQ_FRAC, ensoniq 784 sound/pci/ens1370.c r = (snd_es1371_wait_src_ready(ensoniq) & (ES_1371_SRC_DISABLE | ensoniq 786 sound/pci/ens1370.c outl(r, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 787 sound/pci/ens1370.c mutex_unlock(&ensoniq->src_mutex); ensoniq 794 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 802 sound/pci/ens1370.c if (s == ensoniq->playback1_substream) { ensoniq 805 sound/pci/ens1370.c } else if (s == ensoniq->playback2_substream) { ensoniq 808 sound/pci/ens1370.c } else if (s == ensoniq->capture_substream) ensoniq 811 sound/pci/ens1370.c spin_lock(&ensoniq->reg_lock); ensoniq 813 sound/pci/ens1370.c ensoniq->sctrl |= what; ensoniq 815 sound/pci/ens1370.c ensoniq->sctrl &= ~what; ensoniq 816 sound/pci/ens1370.c outl(ensoniq->sctrl, ES_REG(ensoniq, SERIAL)); ensoniq 817 sound/pci/ens1370.c spin_unlock(&ensoniq->reg_lock); ensoniq 826 sound/pci/ens1370.c if (s == ensoniq->playback1_substream) { ensoniq 829 sound/pci/ens1370.c } else if (s == ensoniq->playback2_substream) { ensoniq 832 sound/pci/ens1370.c } else if (s == ensoniq->capture_substream) { ensoniq 837 sound/pci/ens1370.c spin_lock(&ensoniq->reg_lock); ensoniq 839 sound/pci/ens1370.c ensoniq->ctrl |= what; ensoniq 841 sound/pci/ens1370.c ensoniq->ctrl &= ~what; ensoniq 842 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 843 sound/pci/ens1370.c spin_unlock(&ensoniq->reg_lock); ensoniq 869 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 873 sound/pci/ens1370.c ensoniq->p1_dma_size = snd_pcm_lib_buffer_bytes(substream); ensoniq 874 sound/pci/ens1370.c ensoniq->p1_period_size = snd_pcm_lib_period_bytes(substream); ensoniq 879 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 880 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_DAC1_EN; ensoniq 884 sound/pci/ens1370.c ensoniq->ctrl |= ES_1373_BYPASS_P1; ensoniq 886 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_1373_BYPASS_P1; ensoniq 888 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 889 sound/pci/ens1370.c outl(ES_MEM_PAGEO(ES_PAGE_DAC), ES_REG(ensoniq, MEM_PAGE)); ensoniq 890 sound/pci/ens1370.c outl(runtime->dma_addr, ES_REG(ensoniq, DAC1_FRAME)); ensoniq 891 sound/pci/ens1370.c outl((ensoniq->p1_dma_size >> 2) - 1, ES_REG(ensoniq, DAC1_SIZE)); ensoniq 892 sound/pci/ens1370.c ensoniq->sctrl &= ~(ES_P1_LOOP_SEL | ES_P1_PAUSE | ES_P1_SCT_RLD | ES_P1_MODEM); ensoniq 893 sound/pci/ens1370.c ensoniq->sctrl |= ES_P1_INT_EN | ES_P1_MODEO(mode); ensoniq 894 sound/pci/ens1370.c outl(ensoniq->sctrl, ES_REG(ensoniq, SERIAL)); ensoniq 895 sound/pci/ens1370.c outl((ensoniq->p1_period_size >> snd_ensoniq_sample_shift[mode]) - 1, ensoniq 896 sound/pci/ens1370.c ES_REG(ensoniq, DAC1_COUNT)); ensoniq 898 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_1370_WTSRSELM; ensoniq 900 sound/pci/ens1370.c case 5512: ensoniq->ctrl |= ES_1370_WTSRSEL(0); break; ensoniq 901 sound/pci/ens1370.c case 11025: ensoniq->ctrl |= ES_1370_WTSRSEL(1); break; ensoniq 902 sound/pci/ens1370.c case 22050: ensoniq->ctrl |= ES_1370_WTSRSEL(2); break; ensoniq 903 sound/pci/ens1370.c case 44100: ensoniq->ctrl |= ES_1370_WTSRSEL(3); break; ensoniq 907 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 908 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 910 sound/pci/ens1370.c snd_es1371_dac1_rate(ensoniq, runtime->rate); ensoniq 917 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 921 sound/pci/ens1370.c ensoniq->p2_dma_size = snd_pcm_lib_buffer_bytes(substream); ensoniq 922 sound/pci/ens1370.c ensoniq->p2_period_size = snd_pcm_lib_period_bytes(substream); ensoniq 927 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 928 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_DAC2_EN; ensoniq 929 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 930 sound/pci/ens1370.c outl(ES_MEM_PAGEO(ES_PAGE_DAC), ES_REG(ensoniq, MEM_PAGE)); ensoniq 931 sound/pci/ens1370.c outl(runtime->dma_addr, ES_REG(ensoniq, DAC2_FRAME)); ensoniq 932 sound/pci/ens1370.c outl((ensoniq->p2_dma_size >> 2) - 1, ES_REG(ensoniq, DAC2_SIZE)); ensoniq 933 sound/pci/ens1370.c ensoniq->sctrl &= ~(ES_P2_LOOP_SEL | ES_P2_PAUSE | ES_P2_DAC_SEN | ensoniq 935 sound/pci/ens1370.c ensoniq->sctrl |= ES_P2_INT_EN | ES_P2_MODEO(mode) | ensoniq 937 sound/pci/ens1370.c outl(ensoniq->sctrl, ES_REG(ensoniq, SERIAL)); ensoniq 938 sound/pci/ens1370.c outl((ensoniq->p2_period_size >> snd_ensoniq_sample_shift[mode]) - 1, ensoniq 939 sound/pci/ens1370.c ES_REG(ensoniq, DAC2_COUNT)); ensoniq 941 sound/pci/ens1370.c if (!(ensoniq->u.es1370.pclkdiv_lock & ES_MODE_CAPTURE)) { ensoniq 942 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_1370_PCLKDIVM; ensoniq 943 sound/pci/ens1370.c ensoniq->ctrl |= ES_1370_PCLKDIVO(ES_1370_SRTODIV(runtime->rate)); ensoniq 944 sound/pci/ens1370.c ensoniq->u.es1370.pclkdiv_lock |= ES_MODE_PLAY2; ensoniq 947 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 948 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 950 sound/pci/ens1370.c snd_es1371_dac2_rate(ensoniq, runtime->rate); ensoniq 957 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 961 sound/pci/ens1370.c ensoniq->c_dma_size = snd_pcm_lib_buffer_bytes(substream); ensoniq 962 sound/pci/ens1370.c ensoniq->c_period_size = snd_pcm_lib_period_bytes(substream); ensoniq 967 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 968 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_ADC_EN; ensoniq 969 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 970 sound/pci/ens1370.c outl(ES_MEM_PAGEO(ES_PAGE_ADC), ES_REG(ensoniq, MEM_PAGE)); ensoniq 971 sound/pci/ens1370.c outl(runtime->dma_addr, ES_REG(ensoniq, ADC_FRAME)); ensoniq 972 sound/pci/ens1370.c outl((ensoniq->c_dma_size >> 2) - 1, ES_REG(ensoniq, ADC_SIZE)); ensoniq 973 sound/pci/ens1370.c ensoniq->sctrl &= ~(ES_R1_LOOP_SEL | ES_R1_MODEM); ensoniq 974 sound/pci/ens1370.c ensoniq->sctrl |= ES_R1_INT_EN | ES_R1_MODEO(mode); ensoniq 975 sound/pci/ens1370.c outl(ensoniq->sctrl, ES_REG(ensoniq, SERIAL)); ensoniq 976 sound/pci/ens1370.c outl((ensoniq->c_period_size >> snd_ensoniq_sample_shift[mode]) - 1, ensoniq 977 sound/pci/ens1370.c ES_REG(ensoniq, ADC_COUNT)); ensoniq 979 sound/pci/ens1370.c if (!(ensoniq->u.es1370.pclkdiv_lock & ES_MODE_PLAY2)) { ensoniq 980 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_1370_PCLKDIVM; ensoniq 981 sound/pci/ens1370.c ensoniq->ctrl |= ES_1370_PCLKDIVO(ES_1370_SRTODIV(runtime->rate)); ensoniq 982 sound/pci/ens1370.c ensoniq->u.es1370.pclkdiv_lock |= ES_MODE_CAPTURE; ensoniq 985 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 986 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 988 sound/pci/ens1370.c snd_es1371_adc_rate(ensoniq, runtime->rate); ensoniq 995 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 998 sound/pci/ens1370.c spin_lock(&ensoniq->reg_lock); ensoniq 999 sound/pci/ens1370.c if (inl(ES_REG(ensoniq, CONTROL)) & ES_DAC1_EN) { ensoniq 1000 sound/pci/ens1370.c outl(ES_MEM_PAGEO(ES_PAGE_DAC), ES_REG(ensoniq, MEM_PAGE)); ensoniq 1001 sound/pci/ens1370.c ptr = ES_REG_FCURR_COUNTI(inl(ES_REG(ensoniq, DAC1_SIZE))); ensoniq 1006 sound/pci/ens1370.c spin_unlock(&ensoniq->reg_lock); ensoniq 1012 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 1015 sound/pci/ens1370.c spin_lock(&ensoniq->reg_lock); ensoniq 1016 sound/pci/ens1370.c if (inl(ES_REG(ensoniq, CONTROL)) & ES_DAC2_EN) { ensoniq 1017 sound/pci/ens1370.c outl(ES_MEM_PAGEO(ES_PAGE_DAC), ES_REG(ensoniq, MEM_PAGE)); ensoniq 1018 sound/pci/ens1370.c ptr = ES_REG_FCURR_COUNTI(inl(ES_REG(ensoniq, DAC2_SIZE))); ensoniq 1023 sound/pci/ens1370.c spin_unlock(&ensoniq->reg_lock); ensoniq 1029 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 1032 sound/pci/ens1370.c spin_lock(&ensoniq->reg_lock); ensoniq 1033 sound/pci/ens1370.c if (inl(ES_REG(ensoniq, CONTROL)) & ES_ADC_EN) { ensoniq 1034 sound/pci/ens1370.c outl(ES_MEM_PAGEO(ES_PAGE_ADC), ES_REG(ensoniq, MEM_PAGE)); ensoniq 1035 sound/pci/ens1370.c ptr = ES_REG_FCURR_COUNTI(inl(ES_REG(ensoniq, ADC_SIZE))); ensoniq 1040 sound/pci/ens1370.c spin_unlock(&ensoniq->reg_lock); ensoniq 1112 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 1115 sound/pci/ens1370.c ensoniq->mode |= ES_MODE_PLAY1; ensoniq 1116 sound/pci/ens1370.c ensoniq->playback1_substream = substream; ensoniq 1119 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1120 sound/pci/ens1370.c if (ensoniq->spdif && ensoniq->playback2_substream == NULL) ensoniq 1121 sound/pci/ens1370.c ensoniq->spdif_stream = ensoniq->spdif_default; ensoniq 1122 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1135 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 1138 sound/pci/ens1370.c ensoniq->mode |= ES_MODE_PLAY2; ensoniq 1139 sound/pci/ens1370.c ensoniq->playback2_substream = substream; ensoniq 1142 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1143 sound/pci/ens1370.c if (ensoniq->spdif && ensoniq->playback1_substream == NULL) ensoniq 1144 sound/pci/ens1370.c ensoniq->spdif_stream = ensoniq->spdif_default; ensoniq 1145 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1158 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 1161 sound/pci/ens1370.c ensoniq->mode |= ES_MODE_CAPTURE; ensoniq 1162 sound/pci/ens1370.c ensoniq->capture_substream = substream; ensoniq 1177 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 1179 sound/pci/ens1370.c ensoniq->playback1_substream = NULL; ensoniq 1180 sound/pci/ens1370.c ensoniq->mode &= ~ES_MODE_PLAY1; ensoniq 1186 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 1188 sound/pci/ens1370.c ensoniq->playback2_substream = NULL; ensoniq 1189 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1191 sound/pci/ens1370.c ensoniq->u.es1370.pclkdiv_lock &= ~ES_MODE_PLAY2; ensoniq 1193 sound/pci/ens1370.c ensoniq->mode &= ~ES_MODE_PLAY2; ensoniq 1194 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1200 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_pcm_substream_chip(substream); ensoniq 1202 sound/pci/ens1370.c ensoniq->capture_substream = NULL; ensoniq 1203 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1205 sound/pci/ens1370.c ensoniq->u.es1370.pclkdiv_lock &= ~ES_MODE_CAPTURE; ensoniq 1207 sound/pci/ens1370.c ensoniq->mode &= ~ES_MODE_CAPTURE; ensoniq 1208 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1254 sound/pci/ens1370.c err = snd_pcm_new(ensoniq->card, "ES1370/1", device, 1, 1, &pcm); ensoniq 1256 sound/pci/ens1370.c err = snd_pcm_new(ensoniq->card, "ES1371/1", device, 1, 1, &pcm); ensoniq 1268 sound/pci/ens1370.c pcm->private_data = ensoniq; ensoniq 1275 sound/pci/ens1370.c ensoniq->pcm1 = pcm; ensoniq 1278 sound/pci/ens1370.c snd_dma_pci_data(ensoniq->pci), 64*1024, 128*1024); ensoniq 1294 sound/pci/ens1370.c err = snd_pcm_new(ensoniq->card, "ES1370/2", device, 1, 0, &pcm); ensoniq 1296 sound/pci/ens1370.c err = snd_pcm_new(ensoniq->card, "ES1371/2", device, 1, 0, &pcm); ensoniq 1306 sound/pci/ens1370.c pcm->private_data = ensoniq; ensoniq 1313 sound/pci/ens1370.c ensoniq->pcm2 = pcm; ensoniq 1316 sound/pci/ens1370.c snd_dma_pci_data(ensoniq->pci), 64*1024, 128*1024); ensoniq 1342 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1343 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1344 sound/pci/ens1370.c ucontrol->value.iec958.status[0] = (ensoniq->spdif_default >> 0) & 0xff; ensoniq 1345 sound/pci/ens1370.c ucontrol->value.iec958.status[1] = (ensoniq->spdif_default >> 8) & 0xff; ensoniq 1346 sound/pci/ens1370.c ucontrol->value.iec958.status[2] = (ensoniq->spdif_default >> 16) & 0xff; ensoniq 1347 sound/pci/ens1370.c ucontrol->value.iec958.status[3] = (ensoniq->spdif_default >> 24) & 0xff; ensoniq 1348 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1355 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1363 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1364 sound/pci/ens1370.c change = ensoniq->spdif_default != val; ensoniq 1365 sound/pci/ens1370.c ensoniq->spdif_default = val; ensoniq 1366 sound/pci/ens1370.c if (change && ensoniq->playback1_substream == NULL && ensoniq 1367 sound/pci/ens1370.c ensoniq->playback2_substream == NULL) ensoniq 1368 sound/pci/ens1370.c outl(val, ES_REG(ensoniq, CHANNEL_STATUS)); ensoniq 1369 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1386 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1387 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1388 sound/pci/ens1370.c ucontrol->value.iec958.status[0] = (ensoniq->spdif_stream >> 0) & 0xff; ensoniq 1389 sound/pci/ens1370.c ucontrol->value.iec958.status[1] = (ensoniq->spdif_stream >> 8) & 0xff; ensoniq 1390 sound/pci/ens1370.c ucontrol->value.iec958.status[2] = (ensoniq->spdif_stream >> 16) & 0xff; ensoniq 1391 sound/pci/ens1370.c ucontrol->value.iec958.status[3] = (ensoniq->spdif_stream >> 24) & 0xff; ensoniq 1392 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1399 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1407 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1408 sound/pci/ens1370.c change = ensoniq->spdif_stream != val; ensoniq 1409 sound/pci/ens1370.c ensoniq->spdif_stream = val; ensoniq 1410 sound/pci/ens1370.c if (change && (ensoniq->playback1_substream != NULL || ensoniq 1411 sound/pci/ens1370.c ensoniq->playback2_substream != NULL)) ensoniq 1412 sound/pci/ens1370.c outl(val, ES_REG(ensoniq, CHANNEL_STATUS)); ensoniq 1413 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1426 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1428 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1429 sound/pci/ens1370.c ucontrol->value.integer.value[0] = ensoniq->ctrl & ES_1373_SPDIF_THRU ? 1 : 0; ensoniq 1430 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1437 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1443 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1444 sound/pci/ens1370.c change = (ensoniq->ctrl & ES_1373_SPDIF_THRU) != nval1; ensoniq 1445 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_1373_SPDIF_THRU; ensoniq 1446 sound/pci/ens1370.c ensoniq->ctrl |= nval1; ensoniq 1447 sound/pci/ens1370.c ensoniq->cssr &= ~ES_1373_SPDIF_EN; ensoniq 1448 sound/pci/ens1370.c ensoniq->cssr |= nval2; ensoniq 1449 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 1450 sound/pci/ens1370.c outl(ensoniq->cssr, ES_REG(ensoniq, STATUS)); ensoniq 1451 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1488 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1491 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1492 sound/pci/ens1370.c if ((ensoniq->cssr & (ES_1373_REAR_BIT27|ES_1373_REAR_BIT26| ensoniq 1496 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1503 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1509 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1510 sound/pci/ens1370.c change = (ensoniq->cssr & (ES_1373_REAR_BIT27| ensoniq 1512 sound/pci/ens1370.c ensoniq->cssr &= ~(ES_1373_REAR_BIT27|ES_1373_REAR_BIT26|ES_1373_REAR_BIT24); ensoniq 1513 sound/pci/ens1370.c ensoniq->cssr |= nval1; ensoniq 1514 sound/pci/ens1370.c outl(ensoniq->cssr, ES_REG(ensoniq, STATUS)); ensoniq 1515 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1533 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1536 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1537 sound/pci/ens1370.c if ((ensoniq->ctrl & ES_1371_GPIO_OUTM) >= 4) ensoniq 1540 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1547 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1551 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1552 sound/pci/ens1370.c ctrl = ensoniq->ctrl; ensoniq 1554 sound/pci/ens1370.c ensoniq->ctrl |= ES_1371_GPIO_OUT(4); /* switch line-in -> rear out */ ensoniq 1556 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_1371_GPIO_OUT(4); ensoniq 1557 sound/pci/ens1370.c changed = (ctrl != ensoniq->ctrl); ensoniq 1559 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 1560 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1575 sound/pci/ens1370.c struct ensoniq *ensoniq = ac97->private_data; ensoniq 1576 sound/pci/ens1370.c ensoniq->u.es1371.ac97 = NULL; ensoniq 1589 sound/pci/ens1370.c if (ensoniq->pci->vendor == list->vid && ensoniq 1590 sound/pci/ens1370.c ensoniq->pci->device == list->did && ensoniq 1591 sound/pci/ens1370.c ensoniq->rev == list->rev) ensoniq 1616 sound/pci/ens1370.c struct snd_card *card = ensoniq->card; ensoniq 1630 sound/pci/ens1370.c ac97.private_data = ensoniq; ensoniq 1632 sound/pci/ens1370.c ac97.pci = ensoniq->pci; ensoniq 1634 sound/pci/ens1370.c if ((err = snd_ac97_mixer(pbus, &ac97, &ensoniq->u.es1371.ac97)) < 0) ensoniq 1637 sound/pci/ens1370.c (!has_spdif && es1371_quirk_lookup(ensoniq, es1371_spdif_present))) { ensoniq 1641 sound/pci/ens1370.c ensoniq->spdif_default = ensoniq->spdif_stream = ensoniq 1643 sound/pci/ens1370.c outl(ensoniq->spdif_default, ES_REG(ensoniq, CHANNEL_STATUS)); ensoniq 1645 sound/pci/ens1370.c if (ensoniq->u.es1371.ac97->ext_id & AC97_EI_SPDIF) ensoniq 1649 sound/pci/ens1370.c kctl = snd_ctl_new1(&snd_es1371_mixer_spdif[i], ensoniq); ensoniq 1658 sound/pci/ens1370.c if (ensoniq->u.es1371.ac97->ext_id & AC97_EI_SDAC) { ensoniq 1660 sound/pci/ens1370.c ensoniq->cssr &= ~(ES_1373_REAR_BIT27|ES_1373_REAR_BIT24); ensoniq 1661 sound/pci/ens1370.c ensoniq->cssr |= ES_1373_REAR_BIT26; ensoniq 1662 sound/pci/ens1370.c err = snd_ctl_add(card, snd_ctl_new1(&snd_ens1373_rear, ensoniq)); ensoniq 1667 sound/pci/ens1370.c snd_pci_quirk_lookup(ensoniq->pci, ens1373_line_quirk)) { ensoniq 1669 sound/pci/ens1370.c ensoniq)); ensoniq 1691 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1694 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1695 sound/pci/ens1370.c ucontrol->value.integer.value[0] = ensoniq->ctrl & mask ? 1 : 0; ensoniq 1696 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1703 sound/pci/ens1370.c struct ensoniq *ensoniq = snd_kcontrol_chip(kcontrol); ensoniq 1709 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 1710 sound/pci/ens1370.c change = (ensoniq->ctrl & mask) != nval; ensoniq 1711 sound/pci/ens1370.c ensoniq->ctrl &= ~mask; ensoniq 1712 sound/pci/ens1370.c ensoniq->ctrl |= nval; ensoniq 1713 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 1714 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 1731 sound/pci/ens1370.c struct ensoniq *ensoniq = ak4531->private_data; ensoniq 1732 sound/pci/ens1370.c ensoniq->u.es1370.ak4531 = NULL; ensoniq 1737 sound/pci/ens1370.c struct snd_card *card = ensoniq->card; ensoniq 1743 sound/pci/ens1370.c outw(ES_1370_CODEC_WRITE(AK4531_RESET, 0x02), ES_REG(ensoniq, 1370_CODEC)); ensoniq 1744 sound/pci/ens1370.c inw(ES_REG(ensoniq, 1370_CODEC)); ensoniq 1746 sound/pci/ens1370.c outw(ES_1370_CODEC_WRITE(AK4531_RESET, 0x03), ES_REG(ensoniq, 1370_CODEC)); ensoniq 1747 sound/pci/ens1370.c inw(ES_REG(ensoniq, 1370_CODEC)); ensoniq 1752 sound/pci/ens1370.c ak4531.private_data = ensoniq; ensoniq 1754 sound/pci/ens1370.c if ((err = snd_ak4531_mixer(card, &ak4531, &ensoniq->u.es1370.ak4531)) < 0) ensoniq 1757 sound/pci/ens1370.c err = snd_ctl_add(card, snd_ctl_new1(&snd_es1370_controls[idx], ensoniq)); ensoniq 1822 sound/pci/ens1370.c ensoniq->gameport = gp = gameport_allocate_port(); ensoniq 1830 sound/pci/ens1370.c gameport_set_phys(gp, "pci%s/gameport0", pci_name(ensoniq->pci)); ensoniq 1831 sound/pci/ens1370.c gameport_set_dev_parent(gp, &ensoniq->pci->dev); ensoniq 1834 sound/pci/ens1370.c ensoniq->ctrl |= ES_JYSTK_EN; ensoniq 1836 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_1371_JOY_ASELM; ensoniq 1837 sound/pci/ens1370.c ensoniq->ctrl |= ES_1371_JOY_ASEL((io_port - 0x200) / 8); ensoniq 1839 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 1841 sound/pci/ens1370.c gameport_register_port(ensoniq->gameport); ensoniq 1848 sound/pci/ens1370.c if (ensoniq->gameport) { ensoniq 1849 sound/pci/ens1370.c int port = ensoniq->gameport->io; ensoniq 1851 sound/pci/ens1370.c gameport_unregister_port(ensoniq->gameport); ensoniq 1852 sound/pci/ens1370.c ensoniq->gameport = NULL; ensoniq 1853 sound/pci/ens1370.c ensoniq->ctrl &= ~ES_JYSTK_EN; ensoniq 1854 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 1870 sound/pci/ens1370.c struct ensoniq *ensoniq = entry->private_data; ensoniq 1878 sound/pci/ens1370.c ensoniq->ctrl & ES_JYSTK_EN ? "on" : "off"); ensoniq 1881 sound/pci/ens1370.c ensoniq->ctrl & ES_1370_XCTL1 ? "on" : "off"); ensoniq 1883 sound/pci/ens1370.c ensoniq->ctrl & ES_1370_XCTL0 ? "on" : "off"); ensoniq 1886 sound/pci/ens1370.c (ES_1371_JOY_ASELI(ensoniq->ctrl) * 8) + 0x200); ensoniq 1894 sound/pci/ens1370.c if (! snd_card_proc_new(ensoniq->card, "audiopci", &entry)) ensoniq 1895 sound/pci/ens1370.c snd_info_set_text_ops(entry, ensoniq, snd_ensoniq_proc_read); ensoniq 1904 sound/pci/ens1370.c snd_ensoniq_free_gameport(ensoniq); ensoniq 1905 sound/pci/ens1370.c if (ensoniq->irq < 0) ensoniq 1908 sound/pci/ens1370.c outl(ES_1370_SERR_DISABLE, ES_REG(ensoniq, CONTROL)); /* switch everything off */ ensoniq 1909 sound/pci/ens1370.c outl(0, ES_REG(ensoniq, SERIAL)); /* clear serial interface */ ensoniq 1911 sound/pci/ens1370.c outl(0, ES_REG(ensoniq, CONTROL)); /* switch everything off */ ensoniq 1912 sound/pci/ens1370.c outl(0, ES_REG(ensoniq, SERIAL)); /* clear serial interface */ ensoniq 1914 sound/pci/ens1370.c if (ensoniq->irq >= 0) ensoniq 1915 sound/pci/ens1370.c synchronize_irq(ensoniq->irq); ensoniq 1916 sound/pci/ens1370.c pci_set_power_state(ensoniq->pci, 3); ensoniq 1919 sound/pci/ens1370.c if (ensoniq->dma_bug.area) ensoniq 1920 sound/pci/ens1370.c snd_dma_free_pages(&ensoniq->dma_bug); ensoniq 1922 sound/pci/ens1370.c if (ensoniq->irq >= 0) ensoniq 1923 sound/pci/ens1370.c free_irq(ensoniq->irq, ensoniq); ensoniq 1924 sound/pci/ens1370.c pci_release_regions(ensoniq->pci); ensoniq 1925 sound/pci/ens1370.c pci_disable_device(ensoniq->pci); ensoniq 1926 sound/pci/ens1370.c kfree(ensoniq); ensoniq 1932 sound/pci/ens1370.c struct ensoniq *ensoniq = device->device_data; ensoniq 1933 sound/pci/ens1370.c return snd_ensoniq_free(ensoniq); ensoniq 1964 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 1965 sound/pci/ens1370.c outl(ensoniq->sctrl, ES_REG(ensoniq, SERIAL)); ensoniq 1966 sound/pci/ens1370.c outl(ES_MEM_PAGEO(ES_PAGE_ADC), ES_REG(ensoniq, MEM_PAGE)); ensoniq 1967 sound/pci/ens1370.c outl(ensoniq->dma_bug.addr, ES_REG(ensoniq, PHANTOM_FRAME)); ensoniq 1968 sound/pci/ens1370.c outl(0, ES_REG(ensoniq, PHANTOM_COUNT)); ensoniq 1970 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 1971 sound/pci/ens1370.c outl(ensoniq->sctrl, ES_REG(ensoniq, SERIAL)); ensoniq 1972 sound/pci/ens1370.c outl(0, ES_REG(ensoniq, 1371_LEGACY)); ensoniq 1973 sound/pci/ens1370.c if (es1371_quirk_lookup(ensoniq, es1371_ac97_reset_hack)) { ensoniq 1974 sound/pci/ens1370.c outl(ensoniq->cssr, ES_REG(ensoniq, STATUS)); ensoniq 1980 sound/pci/ens1370.c outl(ensoniq->ctrl | ES_1371_SYNC_RES, ES_REG(ensoniq, CONTROL)); ensoniq 1981 sound/pci/ens1370.c inl(ES_REG(ensoniq, CONTROL)); ensoniq 1983 sound/pci/ens1370.c outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); ensoniq 1985 sound/pci/ens1370.c snd_es1371_wait_src_ready(ensoniq); ensoniq 1986 sound/pci/ens1370.c outl(ES_1371_SRC_DISABLE, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 1988 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, idx, 0); ensoniq 1989 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_DAC1 + ES_SMPREG_TRUNC_N, 16 << 4); ensoniq 1990 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_DAC1 + ES_SMPREG_INT_REGS, 16 << 10); ensoniq 1991 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_DAC2 + ES_SMPREG_TRUNC_N, 16 << 4); ensoniq 1992 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_DAC2 + ES_SMPREG_INT_REGS, 16 << 10); ensoniq 1993 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_VOL_ADC, 1 << 12); ensoniq 1994 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_VOL_ADC + 1, 1 << 12); ensoniq 1995 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_VOL_DAC1, 1 << 12); ensoniq 1996 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_VOL_DAC1 + 1, 1 << 12); ensoniq 1997 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_VOL_DAC2, 1 << 12); ensoniq 1998 sound/pci/ens1370.c snd_es1371_src_write(ensoniq, ES_SMPREG_VOL_DAC2 + 1, 1 << 12); ensoniq 1999 sound/pci/ens1370.c snd_es1371_adc_rate(ensoniq, 22050); ensoniq 2000 sound/pci/ens1370.c snd_es1371_dac1_rate(ensoniq, 22050); ensoniq 2001 sound/pci/ens1370.c snd_es1371_dac2_rate(ensoniq, 22050); ensoniq 2008 sound/pci/ens1370.c snd_es1371_wait_src_ready(ensoniq); ensoniq 2009 sound/pci/ens1370.c outl(0, ES_REG(ensoniq, 1371_SMPRATE)); ensoniq 2011 sound/pci/ens1370.c outl(ES_1371_CODEC_WRITE(0, 0), ES_REG(ensoniq, 1371_CODEC)); ensoniq 2013 sound/pci/ens1370.c outb(ensoniq->uartc = 0x00, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2014 sound/pci/ens1370.c outb(0x00, ES_REG(ensoniq, UART_RES)); ensoniq 2015 sound/pci/ens1370.c outl(ensoniq->cssr, ES_REG(ensoniq, STATUS)); ensoniq 2016 sound/pci/ens1370.c synchronize_irq(ensoniq->irq); ensoniq 2023 sound/pci/ens1370.c struct ensoniq *ensoniq = card->private_data; ensoniq 2027 sound/pci/ens1370.c snd_pcm_suspend_all(ensoniq->pcm1); ensoniq 2028 sound/pci/ens1370.c snd_pcm_suspend_all(ensoniq->pcm2); ensoniq 2031 sound/pci/ens1370.c snd_ac97_suspend(ensoniq->u.es1371.ac97); ensoniq 2034 sound/pci/ens1370.c outw(ES_1370_CODEC_WRITE(AK4531_RESET, 0x02), ES_REG(ensoniq, 1370_CODEC)); ensoniq 2035 sound/pci/ens1370.c inw(ES_REG(ensoniq, 1370_CODEC)); ensoniq 2037 sound/pci/ens1370.c outw(ES_1370_CODEC_WRITE(AK4531_RESET, 0x03), ES_REG(ensoniq, 1370_CODEC)); ensoniq 2038 sound/pci/ens1370.c inw(ES_REG(ensoniq, 1370_CODEC)); ensoniq 2040 sound/pci/ens1370.c snd_ak4531_suspend(ensoniq->u.es1370.ak4531); ensoniq 2052 sound/pci/ens1370.c struct ensoniq *ensoniq = card->private_data; ensoniq 2064 sound/pci/ens1370.c snd_ensoniq_chip_init(ensoniq); ensoniq 2067 sound/pci/ens1370.c snd_ac97_resume(ensoniq->u.es1371.ac97); ensoniq 2069 sound/pci/ens1370.c snd_ak4531_resume(ensoniq->u.es1370.ak4531); ensoniq 2081 sound/pci/ens1370.c struct ensoniq *ensoniq; ensoniq 2090 sound/pci/ens1370.c ensoniq = kzalloc(sizeof(*ensoniq), GFP_KERNEL); ensoniq 2091 sound/pci/ens1370.c if (ensoniq == NULL) { ensoniq 2095 sound/pci/ens1370.c spin_lock_init(&ensoniq->reg_lock); ensoniq 2096 sound/pci/ens1370.c mutex_init(&ensoniq->src_mutex); ensoniq 2097 sound/pci/ens1370.c ensoniq->card = card; ensoniq 2098 sound/pci/ens1370.c ensoniq->pci = pci; ensoniq 2099 sound/pci/ens1370.c ensoniq->irq = -1; ensoniq 2101 sound/pci/ens1370.c kfree(ensoniq); ensoniq 2105 sound/pci/ens1370.c ensoniq->port = pci_resource_start(pci, 0); ensoniq 2107 sound/pci/ens1370.c "Ensoniq AudioPCI", ensoniq)) { ensoniq 2109 sound/pci/ens1370.c snd_ensoniq_free(ensoniq); ensoniq 2112 sound/pci/ens1370.c ensoniq->irq = pci->irq; ensoniq 2115 sound/pci/ens1370.c 16, &ensoniq->dma_bug) < 0) { ensoniq 2117 sound/pci/ens1370.c snd_ensoniq_free(ensoniq); ensoniq 2122 sound/pci/ens1370.c ensoniq->rev = pci->revision; ensoniq 2125 sound/pci/ens1370.c ensoniq->ctrl = ES_1370_CDC_EN | ES_1370_SERR_DISABLE | ensoniq 2128 sound/pci/ens1370.c ensoniq->ctrl = ES_1370_CDC_EN | ES_1370_PCLKDIVO(ES_1370_SRTODIV(8000)); ensoniq 2130 sound/pci/ens1370.c ensoniq->sctrl = 0; ensoniq 2132 sound/pci/ens1370.c ensoniq->ctrl = 0; ensoniq 2133 sound/pci/ens1370.c ensoniq->sctrl = 0; ensoniq 2134 sound/pci/ens1370.c ensoniq->cssr = 0; ensoniq 2136 sound/pci/ens1370.c ensoniq->ctrl |= ES_1371_GPIO_OUT(1); /* turn amplifier on */ ensoniq 2138 sound/pci/ens1370.c if (es1371_quirk_lookup(ensoniq, es1371_ac97_reset_hack)) ensoniq 2139 sound/pci/ens1370.c ensoniq->cssr |= ES_1371_ST_AC97_RST; ensoniq 2142 sound/pci/ens1370.c snd_ensoniq_chip_init(ensoniq); ensoniq 2144 sound/pci/ens1370.c if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, ensoniq, &ops)) < 0) { ensoniq 2145 sound/pci/ens1370.c snd_ensoniq_free(ensoniq); ensoniq 2149 sound/pci/ens1370.c snd_ensoniq_proc_init(ensoniq); ensoniq 2153 sound/pci/ens1370.c *rensoniq = ensoniq; ensoniq 2163 sound/pci/ens1370.c struct snd_rawmidi *rmidi = ensoniq->rmidi; ensoniq 2169 sound/pci/ens1370.c spin_lock(&ensoniq->reg_lock); ensoniq 2170 sound/pci/ens1370.c mask = ensoniq->uartm & ES_MODE_INPUT ? ES_RXRDY : 0; ensoniq 2172 sound/pci/ens1370.c status = inb(ES_REG(ensoniq, UART_STATUS)); ensoniq 2175 sound/pci/ens1370.c byte = inb(ES_REG(ensoniq, UART_DATA)); ensoniq 2176 sound/pci/ens1370.c snd_rawmidi_receive(ensoniq->midi_input, &byte, 1); ensoniq 2178 sound/pci/ens1370.c spin_unlock(&ensoniq->reg_lock); ensoniq 2181 sound/pci/ens1370.c spin_lock(&ensoniq->reg_lock); ensoniq 2182 sound/pci/ens1370.c mask = ensoniq->uartm & ES_MODE_OUTPUT ? ES_TXRDY : 0; ensoniq 2184 sound/pci/ens1370.c status = inb(ES_REG(ensoniq, UART_STATUS)); ensoniq 2187 sound/pci/ens1370.c if (snd_rawmidi_transmit(ensoniq->midi_output, &byte, 1) != 1) { ensoniq 2188 sound/pci/ens1370.c ensoniq->uartc &= ~ES_TXINTENM; ensoniq 2189 sound/pci/ens1370.c outb(ensoniq->uartc, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2192 sound/pci/ens1370.c outb(byte, ES_REG(ensoniq, UART_DATA)); ensoniq 2195 sound/pci/ens1370.c spin_unlock(&ensoniq->reg_lock); ensoniq 2200 sound/pci/ens1370.c struct ensoniq *ensoniq = substream->rmidi->private_data; ensoniq 2202 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 2203 sound/pci/ens1370.c ensoniq->uartm |= ES_MODE_INPUT; ensoniq 2204 sound/pci/ens1370.c ensoniq->midi_input = substream; ensoniq 2205 sound/pci/ens1370.c if (!(ensoniq->uartm & ES_MODE_OUTPUT)) { ensoniq 2206 sound/pci/ens1370.c outb(ES_CNTRL(3), ES_REG(ensoniq, UART_CONTROL)); ensoniq 2207 sound/pci/ens1370.c outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2208 sound/pci/ens1370.c outl(ensoniq->ctrl |= ES_UART_EN, ES_REG(ensoniq, CONTROL)); ensoniq 2210 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 2216 sound/pci/ens1370.c struct ensoniq *ensoniq = substream->rmidi->private_data; ensoniq 2218 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 2219 sound/pci/ens1370.c if (!(ensoniq->uartm & ES_MODE_OUTPUT)) { ensoniq 2220 sound/pci/ens1370.c outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2221 sound/pci/ens1370.c outl(ensoniq->ctrl &= ~ES_UART_EN, ES_REG(ensoniq, CONTROL)); ensoniq 2223 sound/pci/ens1370.c outb(ensoniq->uartc &= ~ES_RXINTEN, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2225 sound/pci/ens1370.c ensoniq->midi_input = NULL; ensoniq 2226 sound/pci/ens1370.c ensoniq->uartm &= ~ES_MODE_INPUT; ensoniq 2227 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 2233 sound/pci/ens1370.c struct ensoniq *ensoniq = substream->rmidi->private_data; ensoniq 2235 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 2236 sound/pci/ens1370.c ensoniq->uartm |= ES_MODE_OUTPUT; ensoniq 2237 sound/pci/ens1370.c ensoniq->midi_output = substream; ensoniq 2238 sound/pci/ens1370.c if (!(ensoniq->uartm & ES_MODE_INPUT)) { ensoniq 2239 sound/pci/ens1370.c outb(ES_CNTRL(3), ES_REG(ensoniq, UART_CONTROL)); ensoniq 2240 sound/pci/ens1370.c outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2241 sound/pci/ens1370.c outl(ensoniq->ctrl |= ES_UART_EN, ES_REG(ensoniq, CONTROL)); ensoniq 2243 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 2249 sound/pci/ens1370.c struct ensoniq *ensoniq = substream->rmidi->private_data; ensoniq 2251 sound/pci/ens1370.c spin_lock_irq(&ensoniq->reg_lock); ensoniq 2252 sound/pci/ens1370.c if (!(ensoniq->uartm & ES_MODE_INPUT)) { ensoniq 2253 sound/pci/ens1370.c outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2254 sound/pci/ens1370.c outl(ensoniq->ctrl &= ~ES_UART_EN, ES_REG(ensoniq, CONTROL)); ensoniq 2256 sound/pci/ens1370.c outb(ensoniq->uartc &= ~ES_TXINTENM, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2258 sound/pci/ens1370.c ensoniq->midi_output = NULL; ensoniq 2259 sound/pci/ens1370.c ensoniq->uartm &= ~ES_MODE_OUTPUT; ensoniq 2260 sound/pci/ens1370.c spin_unlock_irq(&ensoniq->reg_lock); ensoniq 2267 sound/pci/ens1370.c struct ensoniq *ensoniq = substream->rmidi->private_data; ensoniq 2270 sound/pci/ens1370.c spin_lock_irqsave(&ensoniq->reg_lock, flags); ensoniq 2272 sound/pci/ens1370.c if ((ensoniq->uartc & ES_RXINTEN) == 0) { ensoniq 2275 sound/pci/ens1370.c inb(ES_REG(ensoniq, UART_DATA)); ensoniq 2276 sound/pci/ens1370.c ensoniq->uartc |= ES_RXINTEN; ensoniq 2277 sound/pci/ens1370.c outb(ensoniq->uartc, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2280 sound/pci/ens1370.c if (ensoniq->uartc & ES_RXINTEN) { ensoniq 2281 sound/pci/ens1370.c ensoniq->uartc &= ~ES_RXINTEN; ensoniq 2282 sound/pci/ens1370.c outb(ensoniq->uartc, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2285 sound/pci/ens1370.c spin_unlock_irqrestore(&ensoniq->reg_lock, flags); ensoniq 2291 sound/pci/ens1370.c struct ensoniq *ensoniq = substream->rmidi->private_data; ensoniq 2294 sound/pci/ens1370.c spin_lock_irqsave(&ensoniq->reg_lock, flags); ensoniq 2296 sound/pci/ens1370.c if (ES_TXINTENI(ensoniq->uartc) == 0) { ensoniq 2297 sound/pci/ens1370.c ensoniq->uartc |= ES_TXINTENO(1); ensoniq 2299 sound/pci/ens1370.c while (ES_TXINTENI(ensoniq->uartc) == 1 && ensoniq 2300 sound/pci/ens1370.c (inb(ES_REG(ensoniq, UART_STATUS)) & ES_TXRDY)) { ensoniq 2302 sound/pci/ens1370.c ensoniq->uartc &= ~ES_TXINTENM; ensoniq 2304 sound/pci/ens1370.c outb(byte, ES_REG(ensoniq, UART_DATA)); ensoniq 2307 sound/pci/ens1370.c outb(ensoniq->uartc, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2310 sound/pci/ens1370.c if (ES_TXINTENI(ensoniq->uartc) == 1) { ensoniq 2311 sound/pci/ens1370.c ensoniq->uartc &= ~ES_TXINTENM; ensoniq 2312 sound/pci/ens1370.c outb(ensoniq->uartc, ES_REG(ensoniq, UART_CONTROL)); ensoniq 2315 sound/pci/ens1370.c spin_unlock_irqrestore(&ensoniq->reg_lock, flags); ensoniq 2340 sound/pci/ens1370.c if ((err = snd_rawmidi_new(ensoniq->card, "ES1370/1", device, 1, 1, &rmidi)) < 0) ensoniq 2351 sound/pci/ens1370.c rmidi->private_data = ensoniq; ensoniq 2352 sound/pci/ens1370.c ensoniq->rmidi = rmidi; ensoniq 2364 sound/pci/ens1370.c struct ensoniq *ensoniq = dev_id; ensoniq 2367 sound/pci/ens1370.c if (ensoniq == NULL) ensoniq 2370 sound/pci/ens1370.c status = inl(ES_REG(ensoniq, STATUS)); ensoniq 2374 sound/pci/ens1370.c spin_lock(&ensoniq->reg_lock); ensoniq 2375 sound/pci/ens1370.c sctrl = ensoniq->sctrl; ensoniq 2382 sound/pci/ens1370.c outl(sctrl, ES_REG(ensoniq, SERIAL)); ensoniq 2383 sound/pci/ens1370.c outl(ensoniq->sctrl, ES_REG(ensoniq, SERIAL)); ensoniq 2384 sound/pci/ens1370.c spin_unlock(&ensoniq->reg_lock); ensoniq 2387 sound/pci/ens1370.c snd_ensoniq_midi_interrupt(ensoniq); ensoniq 2388 sound/pci/ens1370.c if ((status & ES_DAC2) && ensoniq->playback2_substream) ensoniq 2389 sound/pci/ens1370.c snd_pcm_period_elapsed(ensoniq->playback2_substream); ensoniq 2390 sound/pci/ens1370.c if ((status & ES_ADC) && ensoniq->capture_substream) ensoniq 2391 sound/pci/ens1370.c snd_pcm_period_elapsed(ensoniq->capture_substream); ensoniq 2392 sound/pci/ens1370.c if ((status & ES_DAC1) && ensoniq->playback1_substream) ensoniq 2393 sound/pci/ens1370.c snd_pcm_period_elapsed(ensoniq->playback1_substream); ensoniq 2402 sound/pci/ens1370.c struct ensoniq *ensoniq; ensoniq 2416 sound/pci/ens1370.c if ((err = snd_ensoniq_create(card, pci, &ensoniq)) < 0) { ensoniq 2420 sound/pci/ens1370.c card->private_data = ensoniq; ensoniq 2424 sound/pci/ens1370.c if ((err = snd_ensoniq_1370_mixer(ensoniq)) < 0) { ensoniq 2430 sound/pci/ens1370.c if ((err = snd_ensoniq_1371_mixer(ensoniq, spdif[dev], lineio[dev])) < 0) { ensoniq 2435 sound/pci/ens1370.c if ((err = snd_ensoniq_pcm(ensoniq, 0, NULL)) < 0) { ensoniq 2439 sound/pci/ens1370.c if ((err = snd_ensoniq_pcm2(ensoniq, 1, NULL)) < 0) { ensoniq 2443 sound/pci/ens1370.c if ((err = snd_ensoniq_midi(ensoniq, 0, NULL)) < 0) { ensoniq 2448 sound/pci/ens1370.c snd_ensoniq_create_gameport(ensoniq, dev); ensoniq 2456 sound/pci/ens1370.c ensoniq->port, ensoniq 2457 sound/pci/ens1370.c ensoniq->irq);