H A D | emufx.c | 995 struct snd_emu10k1_fx8010_pcm_rec *ipcm) snd_emu10k1_ipcm_poke() 1001 if (ipcm->substream >= EMU10K1_FX8010_PCM_COUNT) snd_emu10k1_ipcm_poke() 1003 if (ipcm->channels > 32) snd_emu10k1_ipcm_poke() 1005 pcm = &emu->fx8010.pcm[ipcm->substream]; snd_emu10k1_ipcm_poke() 1012 if (ipcm->channels == 0) { /* remove */ snd_emu10k1_ipcm_poke() 1016 if (ipcm->channels != 2) { snd_emu10k1_ipcm_poke() 1022 pcm->channels = ipcm->channels; snd_emu10k1_ipcm_poke() 1023 pcm->tram_start = ipcm->tram_start; snd_emu10k1_ipcm_poke() 1024 pcm->buffer_size = ipcm->buffer_size; snd_emu10k1_ipcm_poke() 1025 pcm->gpr_size = ipcm->gpr_size; snd_emu10k1_ipcm_poke() 1026 pcm->gpr_count = ipcm->gpr_count; snd_emu10k1_ipcm_poke() 1027 pcm->gpr_tmpcount = ipcm->gpr_tmpcount; snd_emu10k1_ipcm_poke() 1028 pcm->gpr_ptr = ipcm->gpr_ptr; snd_emu10k1_ipcm_poke() 1029 pcm->gpr_trigger = ipcm->gpr_trigger; snd_emu10k1_ipcm_poke() 1030 pcm->gpr_running = ipcm->gpr_running; snd_emu10k1_ipcm_poke() 1032 pcm->etram[i] = ipcm->etram[i]; snd_emu10k1_ipcm_poke() 1041 struct snd_emu10k1_fx8010_pcm_rec *ipcm) snd_emu10k1_ipcm_peek() 1047 if (ipcm->substream >= EMU10K1_FX8010_PCM_COUNT) snd_emu10k1_ipcm_peek() 1049 pcm = &emu->fx8010.pcm[ipcm->substream]; snd_emu10k1_ipcm_peek() 1052 ipcm->channels = pcm->channels; snd_emu10k1_ipcm_peek() 1053 ipcm->tram_start = pcm->tram_start; snd_emu10k1_ipcm_peek() 1054 ipcm->buffer_size = pcm->buffer_size; snd_emu10k1_ipcm_peek() 1055 ipcm->gpr_size = pcm->gpr_size; snd_emu10k1_ipcm_peek() 1056 ipcm->gpr_ptr = pcm->gpr_ptr; snd_emu10k1_ipcm_peek() 1057 ipcm->gpr_count = pcm->gpr_count; snd_emu10k1_ipcm_peek() 1058 ipcm->gpr_tmpcount = pcm->gpr_tmpcount; snd_emu10k1_ipcm_peek() 1059 ipcm->gpr_trigger = pcm->gpr_trigger; snd_emu10k1_ipcm_peek() 1060 ipcm->gpr_running = pcm->gpr_running; snd_emu10k1_ipcm_peek() 1062 ipcm->etram[i] = pcm->etram[i]; snd_emu10k1_ipcm_peek() 1063 ipcm->res1 = ipcm->res2 = 0; snd_emu10k1_ipcm_peek() 1064 ipcm->pad = 0; snd_emu10k1_ipcm_peek() 1817 struct snd_emu10k1_fx8010_pcm_rec *ipcm = NULL; _snd_emu10k1_init_efx() local 1838 ipcm = kzalloc(sizeof(*ipcm), GFP_KERNEL); _snd_emu10k1_init_efx() 1839 if (!ipcm) _snd_emu10k1_init_efx() 1886 ipcm->substream = 0; _snd_emu10k1_init_efx() 1887 ipcm->channels = 2; _snd_emu10k1_init_efx() 1888 ipcm->tram_start = 0; _snd_emu10k1_init_efx() 1889 ipcm->buffer_size = (64 * 1024) / 2; _snd_emu10k1_init_efx() 1890 ipcm->gpr_size = gpr++; _snd_emu10k1_init_efx() 1891 ipcm->gpr_ptr = gpr++; _snd_emu10k1_init_efx() 1892 ipcm->gpr_count = gpr++; _snd_emu10k1_init_efx() 1893 ipcm->gpr_tmpcount = gpr++; _snd_emu10k1_init_efx() 1894 ipcm->gpr_trigger = gpr++; _snd_emu10k1_init_efx() 1895 ipcm->gpr_running = gpr++; _snd_emu10k1_init_efx() 1896 ipcm->etram[0] = 0; _snd_emu10k1_init_efx() 1897 ipcm->etram[1] = 1; _snd_emu10k1_init_efx() 1914 /* 00: */ OP(icode, &ptr, iMAC0, C_00000000, GPR(ipcm->gpr_trigger), C_00000000, C_00000000); _snd_emu10k1_init_efx() 1917 /* 02: */ OP(icode, &ptr, iMAC0, C_00000000, GPR(ipcm->gpr_running), C_00000000, C_00000000); _snd_emu10k1_init_efx() 1925 /* 08: */ OP(icode, &ptr, iANDXOR, GPR(ipcm->gpr_running), GPR(ipcm->gpr_running), C_00000000, C_00000001); _snd_emu10k1_init_efx() 1930 /* 0c: */ OP(icode, &ptr, iANDXOR, GPR(tmp + 0), ETRAM_DATA(ipcm->etram[0]), GPR(gpr + 0), C_00000000); _snd_emu10k1_init_efx() 1936 /* 11: */ OP(icode, &ptr, iANDXOR, GPR(tmp + 0), ETRAM_DATA(ipcm->etram[1]), GPR(gpr + 0), C_00000000); _snd_emu10k1_init_efx() 1942 /* 16: */ OP(icode, &ptr, iACC3, GPR(tmp + 0), GPR(ipcm->gpr_ptr), C_00000001, C_00000000); _snd_emu10k1_init_efx() 1943 /* 17: */ OP(icode, &ptr, iMACINT0, C_00000000, GPR(tmp + 0), C_ffffffff, GPR(ipcm->gpr_size)); _snd_emu10k1_init_efx() 1946 /* 1a: */ OP(icode, &ptr, iACC3, GPR(ipcm->gpr_ptr), GPR(tmp + 0), C_00000000, C_00000000); _snd_emu10k1_init_efx() 1948 /* 1b: */ OP(icode, &ptr, iACC3, GPR(ipcm->gpr_tmpcount), GPR(ipcm->gpr_tmpcount), C_ffffffff, C_00000000); _snd_emu10k1_init_efx() 1950 /* 1d: */ OP(icode, &ptr, iACC3, GPR(ipcm->gpr_tmpcount), GPR(ipcm->gpr_count), C_00000000, C_00000000); _snd_emu10k1_init_efx() 1952 /* 1f: */ OP(icode, &ptr, iANDXOR, GPR(ipcm->gpr_running), GPR(ipcm->gpr_running), C_00000001, C_00010000); _snd_emu10k1_init_efx() 1954 /* 20: */ OP(icode, &ptr, iANDXOR, GPR(ipcm->gpr_running), GPR(ipcm->gpr_running), C_00010000, C_00000001); _snd_emu10k1_init_efx() 1957 /* 22: */ OP(icode, &ptr, iMACINT1, ETRAM_ADDR(ipcm->etram[0]), GPR(gpr + 8), GPR_DBAC, C_ffffffff); _snd_emu10k1_init_efx() 1958 /* 23: */ OP(icode, &ptr, iMACINT1, ETRAM_ADDR(ipcm->etram[1]), GPR(gpr + 9), GPR_DBAC, C_ffffffff); _snd_emu10k1_init_efx() 2369 if ((err = snd_emu10k1_fx8010_tram_setup(emu, ipcm->buffer_size)) < 0) _snd_emu10k1_init_efx() 2379 err = snd_emu10k1_ipcm_poke(emu, ipcm); _snd_emu10k1_init_efx() 2381 kfree(ipcm); _snd_emu10k1_init_efx() 2513 struct snd_emu10k1_fx8010_pcm_rec *ipcm; snd_emu10k1_fx8010_ioctl() local 2555 ipcm = memdup_user(argp, sizeof(*ipcm)); snd_emu10k1_fx8010_ioctl() 2556 if (IS_ERR(ipcm)) snd_emu10k1_fx8010_ioctl() 2557 return PTR_ERR(ipcm); snd_emu10k1_fx8010_ioctl() 2558 res = snd_emu10k1_ipcm_poke(emu, ipcm); snd_emu10k1_fx8010_ioctl() 2559 kfree(ipcm); snd_emu10k1_fx8010_ioctl() 2562 ipcm = memdup_user(argp, sizeof(*ipcm)); snd_emu10k1_fx8010_ioctl() 2563 if (IS_ERR(ipcm)) snd_emu10k1_fx8010_ioctl() 2564 return PTR_ERR(ipcm); snd_emu10k1_fx8010_ioctl() 2565 res = snd_emu10k1_ipcm_peek(emu, ipcm); snd_emu10k1_fx8010_ioctl() 2566 if (res == 0 && copy_to_user(argp, ipcm, sizeof(*ipcm))) { snd_emu10k1_fx8010_ioctl() 2567 kfree(ipcm); snd_emu10k1_fx8010_ioctl() 2570 kfree(ipcm); snd_emu10k1_fx8010_ioctl() 994 snd_emu10k1_ipcm_poke(struct snd_emu10k1 *emu, struct snd_emu10k1_fx8010_pcm_rec *ipcm) snd_emu10k1_ipcm_poke() argument 1040 snd_emu10k1_ipcm_peek(struct snd_emu10k1 *emu, struct snd_emu10k1_fx8010_pcm_rec *ipcm) snd_emu10k1_ipcm_peek() argument
|