Lines Matching refs:ipcm
1087 struct snd_emu10k1_fx8010_pcm_rec *ipcm) in snd_emu10k1_ipcm_poke() argument
1093 if (ipcm->substream >= EMU10K1_FX8010_PCM_COUNT) in snd_emu10k1_ipcm_poke()
1095 ipcm->substream = array_index_nospec(ipcm->substream, in snd_emu10k1_ipcm_poke()
1097 if (ipcm->channels > 32) in snd_emu10k1_ipcm_poke()
1099 pcm = &emu->fx8010.pcm[ipcm->substream]; in snd_emu10k1_ipcm_poke()
1106 if (ipcm->channels == 0) { /* remove */ in snd_emu10k1_ipcm_poke()
1110 if (ipcm->channels != 2) { in snd_emu10k1_ipcm_poke()
1116 pcm->channels = ipcm->channels; in snd_emu10k1_ipcm_poke()
1117 pcm->tram_start = ipcm->tram_start; in snd_emu10k1_ipcm_poke()
1118 pcm->buffer_size = ipcm->buffer_size; in snd_emu10k1_ipcm_poke()
1119 pcm->gpr_size = ipcm->gpr_size; in snd_emu10k1_ipcm_poke()
1120 pcm->gpr_count = ipcm->gpr_count; in snd_emu10k1_ipcm_poke()
1121 pcm->gpr_tmpcount = ipcm->gpr_tmpcount; in snd_emu10k1_ipcm_poke()
1122 pcm->gpr_ptr = ipcm->gpr_ptr; in snd_emu10k1_ipcm_poke()
1123 pcm->gpr_trigger = ipcm->gpr_trigger; in snd_emu10k1_ipcm_poke()
1124 pcm->gpr_running = ipcm->gpr_running; in snd_emu10k1_ipcm_poke()
1126 pcm->etram[i] = ipcm->etram[i]; in snd_emu10k1_ipcm_poke()
1135 struct snd_emu10k1_fx8010_pcm_rec *ipcm) in snd_emu10k1_ipcm_peek() argument
1141 if (ipcm->substream >= EMU10K1_FX8010_PCM_COUNT) in snd_emu10k1_ipcm_peek()
1143 ipcm->substream = array_index_nospec(ipcm->substream, in snd_emu10k1_ipcm_peek()
1145 pcm = &emu->fx8010.pcm[ipcm->substream]; in snd_emu10k1_ipcm_peek()
1148 ipcm->channels = pcm->channels; in snd_emu10k1_ipcm_peek()
1149 ipcm->tram_start = pcm->tram_start; in snd_emu10k1_ipcm_peek()
1150 ipcm->buffer_size = pcm->buffer_size; in snd_emu10k1_ipcm_peek()
1151 ipcm->gpr_size = pcm->gpr_size; in snd_emu10k1_ipcm_peek()
1152 ipcm->gpr_ptr = pcm->gpr_ptr; in snd_emu10k1_ipcm_peek()
1153 ipcm->gpr_count = pcm->gpr_count; in snd_emu10k1_ipcm_peek()
1154 ipcm->gpr_tmpcount = pcm->gpr_tmpcount; in snd_emu10k1_ipcm_peek()
1155 ipcm->gpr_trigger = pcm->gpr_trigger; in snd_emu10k1_ipcm_peek()
1156 ipcm->gpr_running = pcm->gpr_running; in snd_emu10k1_ipcm_peek()
1158 ipcm->etram[i] = pcm->etram[i]; in snd_emu10k1_ipcm_peek()
1159 ipcm->res1 = ipcm->res2 = 0; in snd_emu10k1_ipcm_peek()
1160 ipcm->pad = 0; in snd_emu10k1_ipcm_peek()
1816 struct snd_emu10k1_fx8010_pcm_rec *ipcm = NULL; in _snd_emu10k1_init_efx() local
1836 ipcm = kzalloc(sizeof(*ipcm), GFP_KERNEL); in _snd_emu10k1_init_efx()
1837 if (!ipcm) in _snd_emu10k1_init_efx()
1879 ipcm->substream = 0; in _snd_emu10k1_init_efx()
1880 ipcm->channels = 2; in _snd_emu10k1_init_efx()
1881 ipcm->tram_start = 0; in _snd_emu10k1_init_efx()
1882 ipcm->buffer_size = (64 * 1024) / 2; in _snd_emu10k1_init_efx()
1883 ipcm->gpr_size = gpr++; in _snd_emu10k1_init_efx()
1884 ipcm->gpr_ptr = gpr++; in _snd_emu10k1_init_efx()
1885 ipcm->gpr_count = gpr++; in _snd_emu10k1_init_efx()
1886 ipcm->gpr_tmpcount = gpr++; in _snd_emu10k1_init_efx()
1887 ipcm->gpr_trigger = gpr++; in _snd_emu10k1_init_efx()
1888 ipcm->gpr_running = gpr++; in _snd_emu10k1_init_efx()
1889 ipcm->etram[0] = 0; in _snd_emu10k1_init_efx()
1890 ipcm->etram[1] = 1; in _snd_emu10k1_init_efx()
1907 /* 00: */ OP(icode, &ptr, iMAC0, C_00000000, GPR(ipcm->gpr_trigger), C_00000000, C_00000000); in _snd_emu10k1_init_efx()
1910 /* 02: */ OP(icode, &ptr, iMAC0, C_00000000, GPR(ipcm->gpr_running), C_00000000, C_00000000); in _snd_emu10k1_init_efx()
1918 …/* 08: */ OP(icode, &ptr, iANDXOR, GPR(ipcm->gpr_running), GPR(ipcm->gpr_running), C_00000000, C_0… in _snd_emu10k1_init_efx()
1923 …/* 0c: */ OP(icode, &ptr, iANDXOR, GPR(tmp + 0), ETRAM_DATA(ipcm->etram[0]), GPR(gpr + 0), C_00000… in _snd_emu10k1_init_efx()
1929 …/* 11: */ OP(icode, &ptr, iANDXOR, GPR(tmp + 0), ETRAM_DATA(ipcm->etram[1]), GPR(gpr + 0), C_00000… in _snd_emu10k1_init_efx()
1935 /* 16: */ OP(icode, &ptr, iACC3, GPR(tmp + 0), GPR(ipcm->gpr_ptr), C_00000001, C_00000000); in _snd_emu10k1_init_efx()
1936 /* 17: */ OP(icode, &ptr, iMACINT0, C_00000000, GPR(tmp + 0), C_ffffffff, GPR(ipcm->gpr_size)); in _snd_emu10k1_init_efx()
1939 /* 1a: */ OP(icode, &ptr, iACC3, GPR(ipcm->gpr_ptr), GPR(tmp + 0), C_00000000, C_00000000); in _snd_emu10k1_init_efx()
1941 …/* 1b: */ OP(icode, &ptr, iACC3, GPR(ipcm->gpr_tmpcount), GPR(ipcm->gpr_tmpcount), C_ffffffff, C_0… in _snd_emu10k1_init_efx()
1943 …/* 1d: */ OP(icode, &ptr, iACC3, GPR(ipcm->gpr_tmpcount), GPR(ipcm->gpr_count), C_00000000, C_0000… in _snd_emu10k1_init_efx()
1945 …/* 1f: */ OP(icode, &ptr, iANDXOR, GPR(ipcm->gpr_running), GPR(ipcm->gpr_running), C_00000001, C_0… in _snd_emu10k1_init_efx()
1947 …/* 20: */ OP(icode, &ptr, iANDXOR, GPR(ipcm->gpr_running), GPR(ipcm->gpr_running), C_00010000, C_0… in _snd_emu10k1_init_efx()
1950 …/* 22: */ OP(icode, &ptr, iMACINT1, ETRAM_ADDR(ipcm->etram[0]), GPR(gpr + 8), GPR_DBAC, C_ffffffff… in _snd_emu10k1_init_efx()
1951 …/* 23: */ OP(icode, &ptr, iMACINT1, ETRAM_ADDR(ipcm->etram[1]), GPR(gpr + 9), GPR_DBAC, C_ffffffff… in _snd_emu10k1_init_efx()
2343 err = snd_emu10k1_fx8010_tram_setup(emu, ipcm->buffer_size); in _snd_emu10k1_init_efx()
2352 err = snd_emu10k1_ipcm_poke(emu, ipcm); in _snd_emu10k1_init_efx()
2354 kfree(ipcm); in _snd_emu10k1_init_efx()
2485 struct snd_emu10k1_fx8010_pcm_rec *ipcm; in snd_emu10k1_fx8010_ioctl() local
2527 ipcm = memdup_user(argp, sizeof(*ipcm)); in snd_emu10k1_fx8010_ioctl()
2528 if (IS_ERR(ipcm)) in snd_emu10k1_fx8010_ioctl()
2529 return PTR_ERR(ipcm); in snd_emu10k1_fx8010_ioctl()
2530 res = snd_emu10k1_ipcm_poke(emu, ipcm); in snd_emu10k1_fx8010_ioctl()
2531 kfree(ipcm); in snd_emu10k1_fx8010_ioctl()
2534 ipcm = memdup_user(argp, sizeof(*ipcm)); in snd_emu10k1_fx8010_ioctl()
2535 if (IS_ERR(ipcm)) in snd_emu10k1_fx8010_ioctl()
2536 return PTR_ERR(ipcm); in snd_emu10k1_fx8010_ioctl()
2537 res = snd_emu10k1_ipcm_peek(emu, ipcm); in snd_emu10k1_fx8010_ioctl()
2538 if (res == 0 && copy_to_user(argp, ipcm, sizeof(*ipcm))) { in snd_emu10k1_fx8010_ioctl()
2539 kfree(ipcm); in snd_emu10k1_fx8010_ioctl()
2542 kfree(ipcm); in snd_emu10k1_fx8010_ioctl()