dsp 162 arch/arc/include/asm/arcregs.h unsigned int pad:8, x1616:8, dsp:4, cycles:2, type:2, ver:8; dsp 164 arch/arc/include/asm/arcregs.h unsigned int ver:8, type:2, cycles:2, dsp:4, x1616:8, pad:8; dsp 301 arch/arc/kernel/setup.c if (cpu->extn_mpy.dsp) /* OPT 7-9 */ dsp 302 arch/arc/kernel/setup.c opt = cpu->extn_mpy.dsp + 6; dsp 439 arch/arc/kernel/setup.c present = cpu->extn_mpy.dsp | cpu->extn.fpu_sp | cpu->extn.fpu_dp; dsp 367 arch/arm/mach-omap2/cm2xxx.c void omap2xxx_cm_set_mod_dividers(u32 mpu, u32 dsp, u32 gfx, u32 core, u32 mdm) dsp 372 arch/arm/mach-omap2/cm2xxx.c omap2_cm_write_mod_reg(dsp, OMAP24XX_DSP_MOD, CM_CLKSEL); dsp 60 arch/arm/mach-omap2/cm2xxx.h extern void omap2xxx_cm_set_mod_dividers(u32 mpu, u32 dsp, u32 gfx, u32 core, dsp 63 arch/mips/ar7/clock.c struct tnetd7300_clock dsp; dsp 83 arch/mips/ar7/clock.c struct tnetd7200_clock dsp; dsp 254 arch/mips/ar7/clock.c tnetd7300_set_clock(DSP_PLL_SOURCE_SHIFT, &clocks->dsp, dsp 342 arch/mips/ar7/clock.c tnetd7200_set_clock(dsp_base, &clocks->dsp, dsp 372 arch/mips/ar7/clock.c tnetd7200_set_clock(dsp_base, &clocks->dsp, dsp 383 arch/mips/ar7/clock.c tnetd7200_set_clock(dsp_base, &clocks->dsp, dsp 41 arch/mips/include/asm/dsp.h tsk->thread.dsp.dspr[0] = mfhi1(); \ dsp 42 arch/mips/include/asm/dsp.h tsk->thread.dsp.dspr[1] = mflo1(); \ dsp 43 arch/mips/include/asm/dsp.h tsk->thread.dsp.dspr[2] = mfhi2(); \ dsp 44 arch/mips/include/asm/dsp.h tsk->thread.dsp.dspr[3] = mflo2(); \ dsp 45 arch/mips/include/asm/dsp.h tsk->thread.dsp.dspr[4] = mfhi3(); \ dsp 46 arch/mips/include/asm/dsp.h tsk->thread.dsp.dspr[5] = mflo3(); \ dsp 47 arch/mips/include/asm/dsp.h tsk->thread.dsp.dspcontrol = rddsp(DSP_MASK); \ dsp 58 arch/mips/include/asm/dsp.h mthi1(tsk->thread.dsp.dspr[0]); \ dsp 59 arch/mips/include/asm/dsp.h mtlo1(tsk->thread.dsp.dspr[1]); \ dsp 60 arch/mips/include/asm/dsp.h mthi2(tsk->thread.dsp.dspr[2]); \ dsp 61 arch/mips/include/asm/dsp.h mtlo2(tsk->thread.dsp.dspr[3]); \ dsp 62 arch/mips/include/asm/dsp.h mthi3(tsk->thread.dsp.dspr[4]); \ dsp 63 arch/mips/include/asm/dsp.h mtlo3(tsk->thread.dsp.dspr[5]); \ dsp 64 arch/mips/include/asm/dsp.h wrdsp(tsk->thread.dsp.dspcontrol, DSP_MASK); \ dsp 78 arch/mips/include/asm/dsp.h tsk->thread.dsp.dspr; \ dsp 271 arch/mips/include/asm/processor.h struct mips_dsp_state dsp; dsp 344 arch/mips/include/asm/processor.h .dsp = { \ dsp 776 arch/mips/kernel/ptrace.c dspregs[i] = target->thread.dsp.dspr[i]; dsp 779 arch/mips/kernel/ptrace.c dspregs[i] = target->thread.dsp.dspcontrol; dsp 817 arch/mips/kernel/ptrace.c target->thread.dsp.dspr[i] = (s32)dspregs[i]; dsp 820 arch/mips/kernel/ptrace.c target->thread.dsp.dspcontrol = (s32)dspregs[i]; dsp 856 arch/mips/kernel/ptrace.c dspregs[i] = target->thread.dsp.dspr[i]; dsp 859 arch/mips/kernel/ptrace.c dspregs[i] = target->thread.dsp.dspcontrol; dsp 897 arch/mips/kernel/ptrace.c target->thread.dsp.dspr[i] = dspregs[i]; dsp 900 arch/mips/kernel/ptrace.c target->thread.dsp.dspcontrol = dspregs[i]; dsp 1263 arch/mips/kernel/ptrace.c tmp = child->thread.dsp.dspcontrol; dsp 1351 arch/mips/kernel/ptrace.c child->thread.dsp.dspcontrol = data; dsp 158 arch/mips/kernel/ptrace32.c tmp = child->thread.dsp.dspcontrol; dsp 263 arch/mips/kernel/ptrace32.c child->thread.dsp.dspcontrol = data; dsp 53 arch/sh/kernel/cpu/init.c onchip_setup(dsp); dsp 32 arch/um/drivers/hostaudio_kern.c static char *dsp = HOSTAUDIO_DEV_DSP; dsp 43 arch/um/drivers/hostaudio_kern.c module_param(dsp, charp, 0644); dsp 44 arch/um/drivers/hostaudio_kern.c MODULE_PARM_DESC(dsp, DSP_HELP); dsp 51 arch/um/drivers/hostaudio_kern.c dsp = name; dsp 185 arch/um/drivers/hostaudio_kern.c printk(KERN_DEBUG "hostaudio: open called (host: %s)\n", dsp); dsp 200 arch/um/drivers/hostaudio_kern.c ret = os_open_file(dsp, of_set_rw(OPENFLAGS(), r, w), 0); dsp 268 arch/um/drivers/hostaudio_kern.c "err = %d\n", dsp, -ret); dsp 327 arch/um/drivers/hostaudio_kern.c dsp, mixer); dsp 874 arch/x86/events/intel/uncore_nhmex.c DEFINE_UNCORE_FORMAT_ATTR(dsp, dsp, "config1:0-31"); dsp 39 drivers/clk/davinci/psc-da850.c LPSC(15, 1, dsp, pll0_sysclk1, dsp_clkdev, LPSC_FORCE | LPSC_LOCAL_RESET), dsp 62 drivers/clk/davinci/psc-dm644x.c LPSC(39, 1, dsp, pll1_sysclk1, NULL, LPSC_ALWAYS_ENABLED), dsp 36 drivers/clk/davinci/psc-dm646x.c LPSC(1, 0, dsp, pll1_sysclk1, NULL, LPSC_ALWAYS_ENABLED), dsp 628 drivers/dma/imx-sdma.c unsigned long evt, mcu, dsp; dsp 635 drivers/dma/imx-sdma.c dsp = readl_relaxed(sdma->regs + SDMA_H_DSPOVR); dsp 638 drivers/dma/imx-sdma.c __clear_bit(channel, &dsp); dsp 640 drivers/dma/imx-sdma.c __set_bit(channel, &dsp); dsp 654 drivers/dma/imx-sdma.c writel_relaxed(dsp, sdma->regs + SDMA_H_DSPOVR); dsp 4223 drivers/gpu/drm/amd/amdgpu/si_dpm.c pi->dsp = BSP(pi->bsp) | BSU(pi->bsu); dsp 4226 drivers/gpu/drm/amd/amdgpu/si_dpm.c WREG32(CG_BSP, pi->dsp); dsp 4918 drivers/gpu/drm/amd/amdgpu/si_dpm.c table->initialState.levels[0].bSP = cpu_to_be32(pi->dsp); dsp 5433 drivers/gpu/drm/amd/amdgpu/si_dpm.c smc_state->levels[i].bSP = cpu_to_be32(pi->dsp); dsp 580 drivers/gpu/drm/amd/amdgpu/si_dpm.h u32 dsp; dsp 1300 drivers/gpu/drm/radeon/cypress_dpm.c table->initialState.levels[0].bSP = cpu_to_be32(pi->dsp); dsp 1756 drivers/gpu/drm/radeon/ni_dpm.c table->initialState.levels[0].bSP = cpu_to_be32(pi->dsp); dsp 2303 drivers/gpu/drm/radeon/ni_dpm.c smc_state->levels[i].bSP = cpu_to_be32(pi->dsp); dsp 373 drivers/gpu/drm/radeon/rv730_dpm.c table->initialState.levels[0].bSP = cpu_to_be32(pi->dsp); dsp 309 drivers/gpu/drm/radeon/rv770_dpm.c smc_state->levels[i].bSP = cpu_to_be32(pi->dsp); dsp 832 drivers/gpu/drm/radeon/rv770_dpm.c pi->dsp = BSP(pi->bsp) | BSU(pi->bsu); dsp 835 drivers/gpu/drm/radeon/rv770_dpm.c WREG32(CG_BSP, pi->dsp); dsp 1079 drivers/gpu/drm/radeon/rv770_dpm.c table->initialState.levels[0].bSP = cpu_to_be32(pi->dsp); dsp 124 drivers/gpu/drm/radeon/rv770_dpm.h u32 dsp; dsp 3758 drivers/gpu/drm/radeon/si_dpm.c pi->dsp = BSP(pi->bsp) | BSU(pi->bsu); dsp 3761 drivers/gpu/drm/radeon/si_dpm.c WREG32(CG_BSP, pi->dsp); dsp 4455 drivers/gpu/drm/radeon/si_dpm.c table->initialState.levels[0].bSP = cpu_to_be32(pi->dsp); dsp 4971 drivers/gpu/drm/radeon/si_dpm.c smc_state->levels[i].bSP = cpu_to_be32(pi->dsp); dsp 329 drivers/gpu/drm/radeon/sumo_dpm.c pi->dsp = BSP(pi->bsp) | BSU(pi->bsu); dsp 355 drivers/gpu/drm/radeon/sumo_dpm.c WREG32(CG_BSP_0 + (i * 4), pi->dsp); dsp 111 drivers/gpu/drm/radeon/sumo_dpm.h u32 dsp; dsp 92 drivers/isdn/mISDN/dsp.h struct dsp; dsp 95 drivers/isdn/mISDN/dsp.h struct dsp *dsp; dsp 245 drivers/isdn/mISDN/dsp.h extern void dsp_cmx_debug(struct dsp *dsp); dsp 246 drivers/isdn/mISDN/dsp.h extern void dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp); dsp 247 drivers/isdn/mISDN/dsp.h extern int dsp_cmx_conf(struct dsp *dsp, u32 conf_id); dsp 248 drivers/isdn/mISDN/dsp.h extern void dsp_cmx_receive(struct dsp *dsp, struct sk_buff *skb); dsp 249 drivers/isdn/mISDN/dsp.h extern void dsp_cmx_hdlc(struct dsp *dsp, struct sk_buff *skb); dsp 251 drivers/isdn/mISDN/dsp.h extern void dsp_cmx_transmit(struct dsp *dsp, struct sk_buff *skb); dsp 252 drivers/isdn/mISDN/dsp.h extern int dsp_cmx_del_conf_member(struct dsp *dsp); dsp 255 drivers/isdn/mISDN/dsp.h extern void dsp_dtmf_goertzel_init(struct dsp *dsp); dsp 256 drivers/isdn/mISDN/dsp.h extern void dsp_dtmf_hardware(struct dsp *dsp); dsp 257 drivers/isdn/mISDN/dsp.h extern u8 *dsp_dtmf_goertzel_decode(struct dsp *dsp, u8 *data, int len, dsp 260 drivers/isdn/mISDN/dsp.h extern int dsp_tone(struct dsp *dsp, int tone); dsp 261 drivers/isdn/mISDN/dsp.h extern void dsp_tone_copy(struct dsp *dsp, u8 *data, int len); dsp 264 drivers/isdn/mISDN/dsp.h extern void dsp_bf_encrypt(struct dsp *dsp, u8 *data, int len); dsp 265 drivers/isdn/mISDN/dsp.h extern void dsp_bf_decrypt(struct dsp *dsp, u8 *data, int len); dsp 266 drivers/isdn/mISDN/dsp.h extern int dsp_bf_init(struct dsp *dsp, const u8 *key, unsigned int keylen); dsp 267 drivers/isdn/mISDN/dsp.h extern void dsp_bf_cleanup(struct dsp *dsp); dsp 369 drivers/isdn/mISDN/dsp_blowfish.c dsp_bf_encrypt(struct dsp *dsp, u8 *data, int len) dsp 371 drivers/isdn/mISDN/dsp_blowfish.c int i = 0, j = dsp->bf_crypt_pos; dsp 372 drivers/isdn/mISDN/dsp_blowfish.c u8 *bf_data_in = dsp->bf_data_in; dsp 373 drivers/isdn/mISDN/dsp_blowfish.c u8 *bf_crypt_out = dsp->bf_crypt_out; dsp 374 drivers/isdn/mISDN/dsp_blowfish.c u32 *P = dsp->bf_p; dsp 375 drivers/isdn/mISDN/dsp_blowfish.c u32 *S = dsp->bf_s; dsp 448 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_crypt_pos = j; dsp 458 drivers/isdn/mISDN/dsp_blowfish.c dsp_bf_decrypt(struct dsp *dsp, u8 *data, int len) dsp 461 drivers/isdn/mISDN/dsp_blowfish.c u8 j = dsp->bf_decrypt_in_pos; dsp 462 drivers/isdn/mISDN/dsp_blowfish.c u8 k = dsp->bf_decrypt_out_pos; dsp 463 drivers/isdn/mISDN/dsp_blowfish.c u8 *bf_crypt_inring = dsp->bf_crypt_inring; dsp 464 drivers/isdn/mISDN/dsp_blowfish.c u8 *bf_data_out = dsp->bf_data_out; dsp 465 drivers/isdn/mISDN/dsp_blowfish.c u16 sync = dsp->bf_sync; dsp 466 drivers/isdn/mISDN/dsp_blowfish.c u32 *P = dsp->bf_p; dsp 467 drivers/isdn/mISDN/dsp_blowfish.c u32 *S = dsp->bf_s; dsp 555 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_decrypt_in_pos = j; dsp 556 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_decrypt_out_pos = k; dsp 557 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_sync = sync; dsp 599 drivers/isdn/mISDN/dsp_blowfish.c dsp_bf_init(struct dsp *dsp, const u8 *key, uint keylen) dsp 603 drivers/isdn/mISDN/dsp_blowfish.c u32 *P = (u32 *)dsp->bf_p; dsp 604 drivers/isdn/mISDN/dsp_blowfish.c u32 *S = (u32 *)dsp->bf_s; dsp 612 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_crypt_out[i] = 0xff; dsp 613 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_data_out[i] = dsp_silence; dsp 616 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_crypt_pos = 0; dsp 617 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_decrypt_in_pos = 0; dsp 618 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_decrypt_out_pos = 0; dsp 619 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_sync = 0x1ff; dsp 620 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_enable = 1; dsp 669 drivers/isdn/mISDN/dsp_blowfish.c dsp_bf_cleanup(struct dsp *dsp) dsp 671 drivers/isdn/mISDN/dsp_blowfish.c dsp->bf_enable = 0; dsp 159 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_debug(struct dsp *dsp) dsp 163 drivers/isdn/mISDN/dsp_cmx.c struct dsp *odsp; dsp 172 drivers/isdn/mISDN/dsp_cmx.c if (dsp == odsp) dsp 184 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name, member->dsp->pcm_slot_tx, dsp 185 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_tx, member->dsp->pcm_slot_rx, dsp 186 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_rx, member->dsp->hfc_conf, dsp 187 drivers/isdn/mISDN/dsp_cmx.c member->dsp->tx_data, member->dsp->rx_is_off, dsp 188 drivers/isdn/mISDN/dsp_cmx.c (member->dsp == dsp) ? " *this*" : ""); dsp 220 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_add_conf_member(struct dsp *dsp, struct dsp_conf *conf) dsp 224 drivers/isdn/mISDN/dsp_cmx.c if (!conf || !dsp) { dsp 228 drivers/isdn/mISDN/dsp_cmx.c if (dsp->member) { dsp 234 drivers/isdn/mISDN/dsp_cmx.c if (dsp->conf) { dsp 245 drivers/isdn/mISDN/dsp_cmx.c member->dsp = dsp; dsp 247 drivers/isdn/mISDN/dsp_cmx.c memset(dsp->rx_buff, dsp_silence, sizeof(dsp->rx_buff)); dsp 248 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_init = 1; /* rx_W and rx_R will be adjusted on first frame */ dsp 249 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = 0; dsp 250 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_R = 0; dsp 254 drivers/isdn/mISDN/dsp_cmx.c dsp->conf = conf; dsp 255 drivers/isdn/mISDN/dsp_cmx.c dsp->member = member; dsp 265 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_del_conf_member(struct dsp *dsp) dsp 269 drivers/isdn/mISDN/dsp_cmx.c if (!dsp) { dsp 275 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->conf) { dsp 281 drivers/isdn/mISDN/dsp_cmx.c if (list_empty(&dsp->conf->mlist)) { dsp 288 drivers/isdn/mISDN/dsp_cmx.c list_for_each_entry(member, &dsp->conf->mlist, list) { dsp 289 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp == dsp) { dsp 291 drivers/isdn/mISDN/dsp_cmx.c dsp->conf = NULL; dsp 292 drivers/isdn/mISDN/dsp_cmx.c dsp->member = NULL; dsp 361 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(struct dsp *dsp, u32 message, u32 param1, u32 param2, dsp 370 drivers/isdn/mISDN/dsp_cmx.c if (dsp->ch.peer) dsp 371 drivers/isdn/mISDN/dsp_cmx.c dsp->ch.peer->ctrl(dsp->ch.peer, CONTROL_CHANNEL, &cq); dsp 384 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp) dsp 387 drivers/isdn/mISDN/dsp_cmx.c struct dsp *finddsp; dsp 396 drivers/isdn/mISDN/dsp_cmx.c if (!dsp) dsp 400 drivers/isdn/mISDN/dsp_cmx.c __func__, dsp->name); dsp 403 drivers/isdn/mISDN/dsp_cmx.c if (dsp->hfc_conf >= 0) { dsp 408 drivers/isdn/mISDN/dsp_cmx.c dsp->name, dsp->hfc_conf); dsp 409 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(dsp, MISDN_CTRL_HFC_CONF_SPLIT, dsp 411 drivers/isdn/mISDN/dsp_cmx.c dsp->hfc_conf = -1; dsp 414 drivers/isdn/mISDN/dsp_cmx.c if (dsp->features.pcm_banks < 1) dsp 416 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->echo.software && !dsp->echo.hardware) { dsp 418 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_tx >= 0 || dsp->pcm_slot_rx >= 0) { dsp 423 drivers/isdn/mISDN/dsp_cmx.c __func__, dsp->name, dsp 424 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx, dsp->pcm_slot_rx); dsp 425 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(dsp, MISDN_CTRL_HFC_PCM_DISC, dsp 427 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx = -1; dsp 428 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_bank_tx = -1; dsp 429 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx = -1; dsp 430 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_bank_rx = -1; dsp 435 drivers/isdn/mISDN/dsp_cmx.c dsp->echo.software = dsp->tx_data; dsp 436 drivers/isdn/mISDN/dsp_cmx.c dsp->echo.hardware = 0; dsp 438 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_tx >= 0 && dsp->pcm_slot_rx < 0 && dsp 439 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_bank_tx == 2 && dsp->pcm_bank_rx == 2) { dsp 440 drivers/isdn/mISDN/dsp_cmx.c dsp->echo.hardware = 1; dsp 444 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_tx >= 0) { dsp 445 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx = dsp->pcm_slot_tx; dsp 446 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_bank_tx = 2; /* 2 means loop */ dsp 447 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_bank_rx = 2; dsp 451 drivers/isdn/mISDN/dsp_cmx.c __func__, dsp->name, dsp 452 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx); dsp 453 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(dsp, MISDN_CTRL_HFC_PCM_CONN, dsp 454 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx, 2, dsp->pcm_slot_rx, 2); dsp 455 drivers/isdn/mISDN/dsp_cmx.c dsp->echo.hardware = 1; dsp 459 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx = -1; dsp 460 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx = -1; dsp 463 drivers/isdn/mISDN/dsp_cmx.c if (finddsp->features.pcm_id == dsp->features.pcm_id) { dsp 473 drivers/isdn/mISDN/dsp_cmx.c ii = dsp->features.pcm_slots; dsp 485 drivers/isdn/mISDN/dsp_cmx.c dsp->echo.software = 1; dsp 489 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx = i; dsp 490 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx = i; dsp 491 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_bank_tx = 2; /* loop */ dsp 492 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_bank_rx = 2; dsp 496 drivers/isdn/mISDN/dsp_cmx.c __func__, dsp->name, dsp->pcm_slot_tx); dsp 497 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(dsp, MISDN_CTRL_HFC_PCM_CONN, dsp 498 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx, 2, dsp->pcm_slot_rx, 2); dsp 499 drivers/isdn/mISDN/dsp_cmx.c dsp->echo.hardware = 1; dsp 514 drivers/isdn/mISDN/dsp_cmx.c same_hfc = member->dsp->features.hfc_id; dsp 515 drivers/isdn/mISDN/dsp_cmx.c same_pcm = member->dsp->features.pcm_id; dsp 519 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->tx_mix) { dsp 524 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name); dsp 527 drivers/isdn/mISDN/dsp_cmx.c dsp = member->dsp; dsp 529 drivers/isdn/mISDN/dsp_cmx.c if (dsp->hfc_conf >= 0) { dsp 536 drivers/isdn/mISDN/dsp_cmx.c dsp->name, dsp 537 drivers/isdn/mISDN/dsp_cmx.c dsp->hfc_conf); dsp 538 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(dsp, dsp 541 drivers/isdn/mISDN/dsp_cmx.c dsp->hfc_conf = -1; dsp 544 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_tx >= 0 || dsp 545 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx >= 0) { dsp 552 drivers/isdn/mISDN/dsp_cmx.c dsp->name, dsp 553 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx, dsp 554 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx); dsp 555 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(dsp, dsp 558 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx = -1; dsp 559 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_bank_tx = -1; dsp 560 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx = -1; dsp 561 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_bank_rx = -1; dsp 569 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->echo.hardware || member->dsp->echo.software) { dsp 574 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name); dsp 578 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->tx_mix) { dsp 583 drivers/isdn/mISDN/dsp_cmx.c __func__, member->dsp->name); dsp 587 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->tx_volume) { dsp 592 drivers/isdn/mISDN/dsp_cmx.c __func__, member->dsp->name); dsp 595 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->rx_volume) { dsp 600 drivers/isdn/mISDN/dsp_cmx.c __func__, member->dsp->name); dsp 604 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->tx_data) { dsp 608 drivers/isdn/mISDN/dsp_cmx.c __func__, member->dsp->name); dsp 612 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->pipeline.inuse) { dsp 617 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name); dsp 621 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->bf_enable) { dsp 625 drivers/isdn/mISDN/dsp_cmx.c __func__, member->dsp->name); dsp 629 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->features.pcm_id < 0) { dsp 634 drivers/isdn/mISDN/dsp_cmx.c __func__, member->dsp->name); dsp 638 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->features.pcm_id != same_pcm) { dsp 644 drivers/isdn/mISDN/dsp_cmx.c __func__, member->dsp->name); dsp 648 drivers/isdn/mISDN/dsp_cmx.c if (same_hfc != member->dsp->features.hfc_id) dsp 651 drivers/isdn/mISDN/dsp_cmx.c if (current_conf < 0 && member->dsp->hfc_conf >= 0) dsp 652 drivers/isdn/mISDN/dsp_cmx.c current_conf = member->dsp->hfc_conf; dsp 654 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->hfc_conf < 0) dsp 674 drivers/isdn/mISDN/dsp_cmx.c dsp = member->dsp; dsp 691 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->hfc_conf >= 0) { dsp 696 drivers/isdn/mISDN/dsp_cmx.c __func__, member->dsp->name, dsp 697 drivers/isdn/mISDN/dsp_cmx.c member->dsp->hfc_conf); dsp 698 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(member->dsp, dsp 700 drivers/isdn/mISDN/dsp_cmx.c member->dsp->hfc_conf = -1; dsp 702 drivers/isdn/mISDN/dsp_cmx.c if (nextm->dsp->hfc_conf >= 0) { dsp 707 drivers/isdn/mISDN/dsp_cmx.c __func__, nextm->dsp->name, dsp 708 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->hfc_conf); dsp 709 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(nextm->dsp, dsp 711 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->hfc_conf = -1; dsp 714 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->features.pcm_banks > 1 && dsp 715 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->features.pcm_banks > 1 && dsp 716 drivers/isdn/mISDN/dsp_cmx.c member->dsp->features.hfc_id != dsp 717 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->features.hfc_id) { dsp 719 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->pcm_slot_tx >= 0 && dsp 720 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx >= 0 && dsp 721 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_tx >= 0 && dsp 722 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_rx >= 0 && dsp 723 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_tx == dsp 724 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx && dsp 725 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_rx == dsp 726 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx && dsp 727 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_tx == dsp 728 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx && dsp 729 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_tx != dsp 730 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_rx && dsp 731 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_bank_tx != dsp 732 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_bank_rx) { dsp 740 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name, dsp 741 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->name, dsp 742 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx, dsp 743 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_tx, dsp 744 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_rx); dsp 751 drivers/isdn/mISDN/dsp_cmx.c list_for_each_entry(dsp, &dsp_ilist, list) { dsp 752 drivers/isdn/mISDN/dsp_cmx.c if (dsp != member->dsp && dsp 753 drivers/isdn/mISDN/dsp_cmx.c dsp != nextm->dsp && dsp 754 drivers/isdn/mISDN/dsp_cmx.c member->dsp->features.pcm_id == dsp 755 drivers/isdn/mISDN/dsp_cmx.c dsp->features.pcm_id) { dsp 756 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_rx >= 0 && dsp 757 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx < dsp 759 drivers/isdn/mISDN/dsp_cmx.c freeslots[dsp->pcm_slot_rx] = 0; dsp 760 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_tx >= 0 && dsp 761 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx < dsp 763 drivers/isdn/mISDN/dsp_cmx.c freeslots[dsp->pcm_slot_tx] = 0; dsp 767 drivers/isdn/mISDN/dsp_cmx.c ii = member->dsp->features.pcm_slots; dsp 778 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name, dsp 779 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->name); dsp 784 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx = i; dsp 785 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx = i; dsp 786 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_tx = i; dsp 787 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_rx = i; dsp 788 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_rx = 0; dsp 789 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_tx = 1; dsp 790 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_bank_rx = 1; dsp 791 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_bank_tx = 0; dsp 798 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name, dsp 799 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->name, dsp 800 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx); dsp 801 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(member->dsp, MISDN_CTRL_HFC_PCM_CONN, dsp 802 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx, member->dsp->pcm_bank_tx, dsp 803 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx, member->dsp->pcm_bank_rx); dsp 804 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(nextm->dsp, MISDN_CTRL_HFC_PCM_CONN, dsp 805 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_tx, nextm->dsp->pcm_bank_tx, dsp 806 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_rx, nextm->dsp->pcm_bank_rx); dsp 813 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->pcm_slot_tx >= 0 && dsp 814 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx >= 0 && dsp 815 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_tx >= 0 && dsp 816 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_rx >= 0 && dsp 817 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_tx == dsp 818 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx && dsp 819 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_rx == dsp 820 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx && dsp 821 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx != dsp 822 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx && dsp 823 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_tx == 0 && dsp 824 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_rx == 0 && dsp 825 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_bank_tx == 0 && dsp 826 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_bank_rx == 0) { dsp 833 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name, dsp 834 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->name, dsp 835 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx, dsp 836 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx); dsp 843 drivers/isdn/mISDN/dsp_cmx.c list_for_each_entry(dsp, &dsp_ilist, list) { dsp 844 drivers/isdn/mISDN/dsp_cmx.c if (dsp != member->dsp && dsp 845 drivers/isdn/mISDN/dsp_cmx.c dsp != nextm->dsp && dsp 846 drivers/isdn/mISDN/dsp_cmx.c member->dsp->features.pcm_id == dsp 847 drivers/isdn/mISDN/dsp_cmx.c dsp->features.pcm_id) { dsp 848 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_rx >= 0 && dsp 849 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx < dsp 851 drivers/isdn/mISDN/dsp_cmx.c freeslots[dsp->pcm_slot_rx] = 0; dsp 852 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_tx >= 0 && dsp 853 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx < dsp 855 drivers/isdn/mISDN/dsp_cmx.c freeslots[dsp->pcm_slot_tx] = 0; dsp 859 drivers/isdn/mISDN/dsp_cmx.c ii = member->dsp->features.pcm_slots; dsp 870 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name, dsp 871 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->name); dsp 887 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name, dsp 888 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->name); dsp 893 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx = i1; dsp 894 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx = i2; dsp 895 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_tx = i2; dsp 896 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_rx = i1; dsp 897 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_rx = 0; dsp 898 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_tx = 0; dsp 899 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_bank_rx = 0; dsp 900 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_bank_tx = 0; dsp 907 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name, dsp 908 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->name, dsp 909 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx, dsp 910 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx); dsp 911 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(member->dsp, MISDN_CTRL_HFC_PCM_CONN, dsp 912 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx, member->dsp->pcm_bank_tx, dsp 913 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx, member->dsp->pcm_bank_rx); dsp 914 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(nextm->dsp, MISDN_CTRL_HFC_PCM_CONN, dsp 915 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_tx, nextm->dsp->pcm_bank_tx, dsp 916 drivers/isdn/mISDN/dsp_cmx.c nextm->dsp->pcm_slot_rx, nextm->dsp->pcm_bank_rx); dsp 956 drivers/isdn/mISDN/dsp_cmx.c if (!member->dsp->features.hfc_conf) dsp 959 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->hdlc) dsp 962 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->hfc_conf == current_conf) dsp 966 drivers/isdn/mISDN/dsp_cmx.c list_for_each_entry(dsp, &dsp_ilist, list) { dsp 972 drivers/isdn/mISDN/dsp_cmx.c dsp != member->dsp && dsp 974 drivers/isdn/mISDN/dsp_cmx.c member->dsp->features.pcm_id == dsp 975 drivers/isdn/mISDN/dsp_cmx.c dsp->features.pcm_id) { dsp 977 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_tx >= 0 && dsp 978 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_tx < dsp 980 drivers/isdn/mISDN/dsp_cmx.c freeslots[dsp->pcm_slot_tx] = 0; dsp 981 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pcm_slot_rx >= 0 && dsp 982 drivers/isdn/mISDN/dsp_cmx.c dsp->pcm_slot_rx < dsp 984 drivers/isdn/mISDN/dsp_cmx.c freeslots[dsp->pcm_slot_rx] = 0; dsp 988 drivers/isdn/mISDN/dsp_cmx.c ii = member->dsp->features.pcm_slots; dsp 1007 drivers/isdn/mISDN/dsp_cmx.c member->dsp->name, current_conf, i); dsp 1009 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_tx = i; dsp 1010 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_slot_rx = i; dsp 1011 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_tx = 2; /* loop */ dsp 1012 drivers/isdn/mISDN/dsp_cmx.c member->dsp->pcm_bank_rx = 2; dsp 1013 drivers/isdn/mISDN/dsp_cmx.c member->dsp->hfc_conf = current_conf; dsp 1014 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(member->dsp, MISDN_CTRL_HFC_PCM_CONN, dsp 1016 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hw_message(member->dsp, dsp 1028 drivers/isdn/mISDN/dsp_cmx.c list_for_each_entry(dsp, &dsp_ilist, list) { dsp 1030 drivers/isdn/mISDN/dsp_cmx.c if (dsp->features.hfc_id == same_hfc && dsp 1032 drivers/isdn/mISDN/dsp_cmx.c dsp->hfc_conf >= 0 && dsp 1034 drivers/isdn/mISDN/dsp_cmx.c dsp->hfc_conf < 8) dsp 1035 drivers/isdn/mISDN/dsp_cmx.c freeunits[dsp->hfc_conf] = 0; dsp 1064 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_conf(struct dsp *dsp, u32 conf_id) dsp 1071 drivers/isdn/mISDN/dsp_cmx.c if (dsp->conf_id == conf_id) dsp 1075 drivers/isdn/mISDN/dsp_cmx.c if (dsp->conf_id) { dsp 1078 drivers/isdn/mISDN/dsp_cmx.c dsp->conf->id); dsp 1080 drivers/isdn/mISDN/dsp_cmx.c conf = dsp->conf; dsp 1081 drivers/isdn/mISDN/dsp_cmx.c err = dsp_cmx_del_conf_member(dsp); dsp 1084 drivers/isdn/mISDN/dsp_cmx.c dsp->conf_id = 0; dsp 1087 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hardware(NULL, dsp); dsp 1123 drivers/isdn/mISDN/dsp_cmx.c if (dsp->hdlc && !member->dsp->hdlc) { dsp 1129 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->hdlc && member->dsp->hdlc) { dsp 1137 drivers/isdn/mISDN/dsp_cmx.c err = dsp_cmx_add_conf_member(dsp, conf); dsp 1140 drivers/isdn/mISDN/dsp_cmx.c dsp->conf_id = conf_id; dsp 1148 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hardware(NULL, dsp); dsp 1161 drivers/isdn/mISDN/dsp_cmx.c showdelay(struct dsp *dsp, int samples, int delay) dsp 1173 drivers/isdn/mISDN/dsp_cmx.c printk(KERN_DEBUG "DELAY (%s) %3d >%s\n", dsp->name, delay, dsp 1182 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_receive(struct dsp *dsp, struct sk_buff *skb) dsp 1206 drivers/isdn/mISDN/dsp_cmx.c if (dsp->rx_init) { dsp 1207 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_init = 0; dsp 1208 drivers/isdn/mISDN/dsp_cmx.c if (dsp->features.unordered) { dsp 1209 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_R = (hh->id & CMX_BUFF_MASK); dsp 1210 drivers/isdn/mISDN/dsp_cmx.c if (dsp->cmx_delay) dsp 1211 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = (dsp->rx_R + dsp->cmx_delay) dsp 1214 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = (dsp->rx_R + (dsp_poll >> 1)) dsp 1217 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_R = 0; dsp 1218 drivers/isdn/mISDN/dsp_cmx.c if (dsp->cmx_delay) dsp 1219 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = dsp->cmx_delay; dsp 1221 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = dsp_poll >> 1; dsp 1225 drivers/isdn/mISDN/dsp_cmx.c if (dsp->features.unordered) { dsp 1226 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = (hh->id & CMX_BUFF_MASK); dsp 1233 drivers/isdn/mISDN/dsp_cmx.c if (((dsp->rx_W-dsp->rx_R) & CMX_BUFF_MASK) >= CMX_BUFF_HALF) { dsp 1238 drivers/isdn/mISDN/dsp_cmx.c "(inst %s)\n", (u_long)dsp, dsp->name); dsp 1240 drivers/isdn/mISDN/dsp_cmx.c if (dsp->features.unordered) { dsp 1241 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_R = (hh->id & CMX_BUFF_MASK); dsp 1242 drivers/isdn/mISDN/dsp_cmx.c if (dsp->cmx_delay) dsp 1243 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = (dsp->rx_R + dsp->cmx_delay) dsp 1246 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = (dsp->rx_R + (dsp_poll >> 1)) dsp 1249 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_R = 0; dsp 1250 drivers/isdn/mISDN/dsp_cmx.c if (dsp->cmx_delay) dsp 1251 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = dsp->cmx_delay; dsp 1253 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = dsp_poll >> 1; dsp 1255 drivers/isdn/mISDN/dsp_cmx.c memset(dsp->rx_buff, dsp_silence, sizeof(dsp->rx_buff)); dsp 1258 drivers/isdn/mISDN/dsp_cmx.c if (dsp->cmx_delay) dsp 1259 drivers/isdn/mISDN/dsp_cmx.c if (((dsp->rx_W - dsp->rx_R) & CMX_BUFF_MASK) >= dsp 1260 drivers/isdn/mISDN/dsp_cmx.c (dsp->cmx_delay << 1)) { dsp 1266 drivers/isdn/mISDN/dsp_cmx.c (u_long)dsp, dsp->name); dsp 1268 drivers/isdn/mISDN/dsp_cmx.c if (dsp->features.unordered) { dsp 1269 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_R = (hh->id & CMX_BUFF_MASK); dsp 1270 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = (dsp->rx_R + dsp->cmx_delay) dsp 1273 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_R = 0; dsp 1274 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = dsp->cmx_delay; dsp 1276 drivers/isdn/mISDN/dsp_cmx.c memset(dsp->rx_buff, dsp_silence, sizeof(dsp->rx_buff)); dsp 1283 drivers/isdn/mISDN/dsp_cmx.c (u_long)dsp, dsp->rx_R, dsp->rx_W, len, dsp->name); dsp 1288 drivers/isdn/mISDN/dsp_cmx.c d = dsp->rx_buff; dsp 1289 drivers/isdn/mISDN/dsp_cmx.c w = dsp->rx_W; dsp 1298 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_W = ((dsp->rx_W + len) & CMX_BUFF_MASK); dsp 1300 drivers/isdn/mISDN/dsp_cmx.c showdelay(dsp, len, (dsp->rx_W-dsp->rx_R) & CMX_BUFF_MASK); dsp 1309 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_send_member(struct dsp *dsp, int len, s32 *c, int members) dsp 1311 drivers/isdn/mISDN/dsp_cmx.c struct dsp_conf *conf = dsp->conf; dsp 1312 drivers/isdn/mISDN/dsp_cmx.c struct dsp *member, *other; dsp 1322 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->b_active) { /* if not active */ dsp 1323 drivers/isdn/mISDN/dsp_cmx.c dsp->last_tx = 0; dsp 1326 drivers/isdn/mISDN/dsp_cmx.c if (((dsp->conf && dsp->conf->hardware) || /* hardware conf */ dsp 1327 drivers/isdn/mISDN/dsp_cmx.c dsp->echo.hardware) && /* OR hardware echo */ dsp 1328 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_R == dsp->tx_W && /* AND no tx-data */ dsp 1329 drivers/isdn/mISDN/dsp_cmx.c !(dsp->tone.tone && dsp->tone.software)) { /* AND not soft tones */ dsp 1330 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->tx_data) { /* no tx_data for user space required */ dsp 1331 drivers/isdn/mISDN/dsp_cmx.c dsp->last_tx = 0; dsp 1334 drivers/isdn/mISDN/dsp_cmx.c if (dsp->conf && dsp->conf->software && dsp->conf->hardware) dsp 1336 drivers/isdn/mISDN/dsp_cmx.c if (dsp->echo.software && dsp->echo.hardware) dsp 1343 drivers/isdn/mISDN/dsp_cmx.c members, dsp->name, conf, dsp->rx_R, dsp->rx_W); dsp 1347 drivers/isdn/mISDN/dsp_cmx.c if (dsp->cmx_delay && !dsp->last_tx) { dsp 1364 drivers/isdn/mISDN/dsp_cmx.c dsp->last_tx = 1; dsp 1367 drivers/isdn/mISDN/dsp_cmx.c member = dsp; dsp 1368 drivers/isdn/mISDN/dsp_cmx.c p = dsp->tx_buff; /* transmit data */ dsp 1369 drivers/isdn/mISDN/dsp_cmx.c q = dsp->rx_buff; /* received data */ dsp 1371 drivers/isdn/mISDN/dsp_cmx.c t = dsp->tx_R; /* tx-pointers */ dsp 1372 drivers/isdn/mISDN/dsp_cmx.c tt = dsp->tx_W; dsp 1373 drivers/isdn/mISDN/dsp_cmx.c r = dsp->rx_R; /* rx-pointers */ dsp 1383 drivers/isdn/mISDN/dsp_cmx.c if (dsp->tone.tone && dsp->tone.software) { dsp 1385 drivers/isdn/mISDN/dsp_cmx.c dsp_tone_copy(dsp, d, len); dsp 1386 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_R = 0; /* clear tx buffer */ dsp 1387 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_W = 0; dsp 1391 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->tx_mix && t != tt) { dsp 1407 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_R = t; dsp 1421 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->echo.software) { dsp 1450 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_R = t; dsp 1461 drivers/isdn/mISDN/dsp_cmx.c struct dsp_conf_member, list))->dsp; dsp 1464 drivers/isdn/mISDN/dsp_cmx.c struct dsp_conf_member, list))->dsp; dsp 1471 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->echo.software) { dsp 1511 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_R = t; dsp 1516 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->echo.software) { dsp 1571 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_R = t; dsp 1579 drivers/isdn/mISDN/dsp_cmx.c if (dsp->tx_data) { dsp 1584 drivers/isdn/mISDN/dsp_cmx.c skb_queue_tail(&dsp->sendq, nskb); dsp 1585 drivers/isdn/mISDN/dsp_cmx.c schedule_work(&dsp->workq); dsp 1600 drivers/isdn/mISDN/dsp_cmx.c skb_queue_tail(&dsp->sendq, txskb); dsp 1607 drivers/isdn/mISDN/dsp_cmx.c if (dsp->tx_volume) dsp 1608 drivers/isdn/mISDN/dsp_cmx.c dsp_change_volume(nskb, dsp->tx_volume); dsp 1610 drivers/isdn/mISDN/dsp_cmx.c if (dsp->pipeline.inuse) dsp 1611 drivers/isdn/mISDN/dsp_cmx.c dsp_pipeline_process_tx(&dsp->pipeline, nskb->data, dsp 1614 drivers/isdn/mISDN/dsp_cmx.c if (dsp->bf_enable) dsp 1615 drivers/isdn/mISDN/dsp_cmx.c dsp_bf_encrypt(dsp, nskb->data, nskb->len); dsp 1617 drivers/isdn/mISDN/dsp_cmx.c skb_queue_tail(&dsp->sendq, nskb); dsp 1618 drivers/isdn/mISDN/dsp_cmx.c schedule_work(&dsp->workq); dsp 1632 drivers/isdn/mISDN/dsp_cmx.c struct dsp *dsp; dsp 1668 drivers/isdn/mISDN/dsp_cmx.c list_for_each_entry(dsp, &dsp_ilist, list) { dsp 1669 drivers/isdn/mISDN/dsp_cmx.c if (dsp->hdlc) dsp 1671 drivers/isdn/mISDN/dsp_cmx.c conf = dsp->conf; dsp 1686 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_send_member(dsp, length, mixbuffer, members); dsp 1707 drivers/isdn/mISDN/dsp_cmx.c if (member->dsp->hdlc) dsp 1712 drivers/isdn/mISDN/dsp_cmx.c dsp = member->dsp; dsp 1715 drivers/isdn/mISDN/dsp_cmx.c q = dsp->rx_buff; dsp 1716 drivers/isdn/mISDN/dsp_cmx.c r = dsp->rx_R; dsp 1728 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_send_member(member->dsp, length, dsp 1735 drivers/isdn/mISDN/dsp_cmx.c list_for_each_entry(dsp, &dsp_ilist, list) { dsp 1736 drivers/isdn/mISDN/dsp_cmx.c if (dsp->hdlc) dsp 1738 drivers/isdn/mISDN/dsp_cmx.c p = dsp->rx_buff; dsp 1739 drivers/isdn/mISDN/dsp_cmx.c q = dsp->tx_buff; dsp 1740 drivers/isdn/mISDN/dsp_cmx.c r = dsp->rx_R; dsp 1742 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->rx_is_off) { dsp 1750 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_R = r; /* write incremented read pointer */ dsp 1754 drivers/isdn/mISDN/dsp_cmx.c delay = (dsp->rx_W-dsp->rx_R) & CMX_BUFF_MASK; dsp 1758 drivers/isdn/mISDN/dsp_cmx.c if (delay < dsp->rx_delay[0]) dsp 1759 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_delay[0] = delay; dsp 1761 drivers/isdn/mISDN/dsp_cmx.c delay = (dsp->tx_W-dsp->tx_R) & CMX_BUFF_MASK; dsp 1765 drivers/isdn/mISDN/dsp_cmx.c if (delay < dsp->tx_delay[0]) dsp 1766 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_delay[0] = delay; dsp 1769 drivers/isdn/mISDN/dsp_cmx.c delay = dsp->rx_delay[0]; dsp 1772 drivers/isdn/mISDN/dsp_cmx.c if (delay > dsp->rx_delay[i]) dsp 1773 drivers/isdn/mISDN/dsp_cmx.c delay = dsp->rx_delay[i]; dsp 1781 drivers/isdn/mISDN/dsp_cmx.c if (delay > dsp_poll && !dsp->cmx_delay) { dsp 1787 drivers/isdn/mISDN/dsp_cmx.c dsp->name); dsp 1788 drivers/isdn/mISDN/dsp_cmx.c r = dsp->rx_R; dsp 1797 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_R = r; dsp 1801 drivers/isdn/mISDN/dsp_cmx.c delay = dsp->tx_delay[0]; dsp 1804 drivers/isdn/mISDN/dsp_cmx.c if (delay > dsp->tx_delay[i]) dsp 1805 drivers/isdn/mISDN/dsp_cmx.c delay = dsp->tx_delay[i]; dsp 1812 drivers/isdn/mISDN/dsp_cmx.c if (delay > dsp_poll && dsp->tx_dejitter) { dsp 1818 drivers/isdn/mISDN/dsp_cmx.c dsp->name); dsp 1819 drivers/isdn/mISDN/dsp_cmx.c r = dsp->tx_R; dsp 1828 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_R = r; dsp 1834 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_delay[i] = dsp->rx_delay[i - 1]; dsp 1835 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_delay[i] = dsp->tx_delay[i - 1]; dsp 1838 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_delay[0] = CMX_BUFF_HALF; /* (infinite) delay */ dsp 1839 drivers/isdn/mISDN/dsp_cmx.c dsp->rx_delay[0] = CMX_BUFF_HALF; /* (infinite) delay */ dsp 1860 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_transmit(struct dsp *dsp, struct sk_buff *skb) dsp 1870 drivers/isdn/mISDN/dsp_cmx.c w = dsp->tx_W; dsp 1871 drivers/isdn/mISDN/dsp_cmx.c ww = dsp->tx_R; dsp 1872 drivers/isdn/mISDN/dsp_cmx.c p = dsp->tx_buff; dsp 1886 drivers/isdn/mISDN/dsp_cmx.c dsp->tx_W = ww; dsp 1891 drivers/isdn/mISDN/dsp_cmx.c (u_long)dsp, (ww - w) & CMX_BUFF_MASK, w, ww, dsp->name); dsp 1916 drivers/isdn/mISDN/dsp_cmx.c dsp_cmx_hdlc(struct dsp *dsp, struct sk_buff *skb) dsp 1923 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->b_active) dsp 1931 drivers/isdn/mISDN/dsp_cmx.c if (!dsp->conf) { dsp 1933 drivers/isdn/mISDN/dsp_cmx.c if (dsp->echo.software) { dsp 1939 drivers/isdn/mISDN/dsp_cmx.c skb_queue_tail(&dsp->sendq, nskb); dsp 1940 drivers/isdn/mISDN/dsp_cmx.c schedule_work(&dsp->workq); dsp 1946 drivers/isdn/mISDN/dsp_cmx.c if (dsp->conf->hardware) dsp 1948 drivers/isdn/mISDN/dsp_cmx.c list_for_each_entry(member, &dsp->conf->mlist, list) { dsp 1949 drivers/isdn/mISDN/dsp_cmx.c if (dsp->echo.software || member->dsp != dsp) { dsp 1955 drivers/isdn/mISDN/dsp_cmx.c skb_queue_tail(&member->dsp->sendq, nskb); dsp 1956 drivers/isdn/mISDN/dsp_cmx.c schedule_work(&member->dsp->workq); dsp 188 drivers/isdn/mISDN/dsp_core.c dsp_rx_off_member(struct dsp *dsp) dsp 195 drivers/isdn/mISDN/dsp_core.c if (!dsp->features_rx_off) dsp 199 drivers/isdn/mISDN/dsp_core.c if (!dsp->rx_disabled) dsp 202 drivers/isdn/mISDN/dsp_core.c else if (dsp->dtmf.software) dsp 205 drivers/isdn/mISDN/dsp_core.c else if (dsp->echo.software) dsp 208 drivers/isdn/mISDN/dsp_core.c else if (dsp->conf && dsp->conf->software) dsp 213 drivers/isdn/mISDN/dsp_core.c if (rx_off == dsp->rx_is_off) dsp 216 drivers/isdn/mISDN/dsp_core.c if (!dsp->ch.peer) { dsp 224 drivers/isdn/mISDN/dsp_core.c if (dsp->ch.peer->ctrl(dsp->ch.peer, CONTROL_CHANNEL, &cq)) { dsp 229 drivers/isdn/mISDN/dsp_core.c dsp->rx_is_off = rx_off; dsp 232 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name, rx_off); dsp 235 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(struct dsp *dsp) dsp 243 drivers/isdn/mISDN/dsp_core.c if (!dsp->conf) { dsp 244 drivers/isdn/mISDN/dsp_core.c dsp_rx_off_member(dsp); dsp 248 drivers/isdn/mISDN/dsp_core.c list_for_each_entry(member, &dsp->conf->mlist, list) { dsp 249 drivers/isdn/mISDN/dsp_core.c dsp_rx_off_member(member->dsp); dsp 255 drivers/isdn/mISDN/dsp_core.c dsp_fill_empty(struct dsp *dsp) dsp 261 drivers/isdn/mISDN/dsp_core.c if (!dsp->ch.peer) { dsp 270 drivers/isdn/mISDN/dsp_core.c if (dsp->ch.peer->ctrl(dsp->ch.peer, CONTROL_CHANNEL, &cq)) { dsp 277 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name); dsp 281 drivers/isdn/mISDN/dsp_core.c dsp_control_req(struct dsp *dsp, struct mISDNhead *hh, struct sk_buff *skb) dsp 299 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 309 drivers/isdn/mISDN/dsp_core.c dsp->dtmf.treshold = (*(int *)data) * 10000; dsp 311 drivers/isdn/mISDN/dsp_core.c dsp->dtmf.enable = 1; dsp 313 drivers/isdn/mISDN/dsp_core.c dsp_dtmf_goertzel_init(dsp); dsp 316 drivers/isdn/mISDN/dsp_core.c dsp_dtmf_hardware(dsp); dsp 317 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 322 drivers/isdn/mISDN/dsp_core.c dsp->dtmf.enable = 0; dsp 323 drivers/isdn/mISDN/dsp_core.c dsp->dtmf.hardware = 0; dsp 324 drivers/isdn/mISDN/dsp_core.c dsp->dtmf.software = 0; dsp 336 drivers/isdn/mISDN/dsp_core.c ret = dsp_cmx_conf(dsp, *((u32 *)data)); dsp 338 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 340 drivers/isdn/mISDN/dsp_core.c dsp_cmx_debug(dsp); dsp 346 drivers/isdn/mISDN/dsp_core.c ret = dsp_cmx_conf(dsp, 0); dsp 349 drivers/isdn/mISDN/dsp_core.c dsp_cmx_debug(dsp); dsp 350 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 353 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 364 drivers/isdn/mISDN/dsp_core.c ret = dsp_tone(dsp, *((int *)data)); dsp 366 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 367 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 369 drivers/isdn/mISDN/dsp_core.c if (!dsp->tone.tone) dsp 373 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 379 drivers/isdn/mISDN/dsp_core.c dsp_tone(dsp, 0); dsp 380 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 381 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 384 drivers/isdn/mISDN/dsp_core.c dsp->rx_W = 0; dsp 385 drivers/isdn/mISDN/dsp_core.c dsp->rx_R = 0; dsp 388 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 396 drivers/isdn/mISDN/dsp_core.c dsp->tx_volume = *((int *)data); dsp 399 drivers/isdn/mISDN/dsp_core.c __func__, dsp->tx_volume); dsp 400 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 401 drivers/isdn/mISDN/dsp_core.c dsp_dtmf_hardware(dsp); dsp 402 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 405 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 413 drivers/isdn/mISDN/dsp_core.c dsp->rx_volume = *((int *)data); dsp 416 drivers/isdn/mISDN/dsp_core.c __func__, dsp->tx_volume); dsp 417 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 418 drivers/isdn/mISDN/dsp_core.c dsp_dtmf_hardware(dsp); dsp 419 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 422 drivers/isdn/mISDN/dsp_core.c dsp->echo.software = 1; /* soft echo */ dsp 425 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 426 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 428 drivers/isdn/mISDN/dsp_core.c dsp_cmx_debug(dsp); dsp 431 drivers/isdn/mISDN/dsp_core.c dsp->echo.software = 0; dsp 432 drivers/isdn/mISDN/dsp_core.c dsp->echo.hardware = 0; dsp 435 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 436 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 438 drivers/isdn/mISDN/dsp_core.c dsp_cmx_debug(dsp); dsp 444 drivers/isdn/mISDN/dsp_core.c dsp->rx_disabled = 0; dsp 445 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 451 drivers/isdn/mISDN/dsp_core.c dsp->rx_disabled = 1; dsp 452 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 455 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 462 drivers/isdn/mISDN/dsp_core.c dsp->tx_mix = 1; dsp 463 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 464 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 466 drivers/isdn/mISDN/dsp_core.c dsp_cmx_debug(dsp); dsp 469 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 476 drivers/isdn/mISDN/dsp_core.c dsp->tx_mix = 0; dsp 477 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 478 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 480 drivers/isdn/mISDN/dsp_core.c dsp_cmx_debug(dsp); dsp 483 drivers/isdn/mISDN/dsp_core.c dsp->tx_data = 1; dsp 486 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 487 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 489 drivers/isdn/mISDN/dsp_core.c dsp_cmx_debug(dsp); dsp 492 drivers/isdn/mISDN/dsp_core.c dsp->tx_data = 0; dsp 495 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 496 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 498 drivers/isdn/mISDN/dsp_core.c dsp_cmx_debug(dsp); dsp 502 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 510 drivers/isdn/mISDN/dsp_core.c dsp->cmx_delay = (*((int *)data)) << 3; dsp 512 drivers/isdn/mISDN/dsp_core.c if (dsp->cmx_delay >= (CMX_BUFF_HALF >> 1)) dsp 515 drivers/isdn/mISDN/dsp_core.c dsp->cmx_delay = (CMX_BUFF_HALF >> 1) - 1; dsp 519 drivers/isdn/mISDN/dsp_core.c __func__, dsp->cmx_delay); dsp 523 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 527 drivers/isdn/mISDN/dsp_core.c dsp->cmx_delay = 0; dsp 533 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 537 drivers/isdn/mISDN/dsp_core.c dsp->tx_dejitter = 1; dsp 543 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 547 drivers/isdn/mISDN/dsp_core.c dsp->tx_dejitter = 0; dsp 553 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 562 drivers/isdn/mISDN/dsp_core.c dsp->pipeline.inuse = 1; dsp 563 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 564 drivers/isdn/mISDN/dsp_core.c ret = dsp_pipeline_build(&dsp->pipeline, dsp 566 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 567 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 571 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 582 drivers/isdn/mISDN/dsp_core.c ret = dsp_bf_init(dsp, (u8 *)data, len); dsp 592 drivers/isdn/mISDN/dsp_core.c if (dsp->up) { dsp 593 drivers/isdn/mISDN/dsp_core.c if (dsp->up->send(dsp->up, nskb)) dsp 599 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 600 drivers/isdn/mISDN/dsp_core.c dsp_dtmf_hardware(dsp); dsp 601 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 605 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 611 drivers/isdn/mISDN/dsp_core.c dsp_bf_cleanup(dsp); dsp 612 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 613 drivers/isdn/mISDN/dsp_core.c dsp_dtmf_hardware(dsp); dsp 614 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 628 drivers/isdn/mISDN/dsp_core.c struct dsp *dsp = container_of(ch, struct dsp, ch); dsp 645 drivers/isdn/mISDN/dsp_core.c dsp->features_rx_off = 1; dsp 647 drivers/isdn/mISDN/dsp_core.c dsp->features_fill_empty = 1; dsp 652 drivers/isdn/mISDN/dsp_core.c *((u_long *)&cq.p1) = (u_long)&dsp->features; dsp 660 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name); dsp 666 drivers/isdn/mISDN/dsp_core.c struct dsp *dsp = container_of(ch, struct dsp, ch); dsp 676 drivers/isdn/mISDN/dsp_core.c dsp->data_pending = 0; dsp 678 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 680 drivers/isdn/mISDN/dsp_core.c if (dsp->b_active) dsp 681 drivers/isdn/mISDN/dsp_core.c schedule_work(&dsp->workq); dsp 691 drivers/isdn/mISDN/dsp_core.c if (dsp->rx_is_off) { dsp 695 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name); dsp 697 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 700 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hdlc(dsp, skb); dsp 702 drivers/isdn/mISDN/dsp_core.c if (dsp->rx_disabled) { dsp 707 drivers/isdn/mISDN/dsp_core.c if (dsp->up) dsp 708 drivers/isdn/mISDN/dsp_core.c return dsp->up->send(dsp->up, skb); dsp 715 drivers/isdn/mISDN/dsp_core.c if (dsp->bf_enable) dsp 716 drivers/isdn/mISDN/dsp_core.c dsp_bf_decrypt(dsp, skb->data, skb->len); dsp 718 drivers/isdn/mISDN/dsp_core.c if (dsp->pipeline.inuse) dsp 719 drivers/isdn/mISDN/dsp_core.c dsp_pipeline_process_rx(&dsp->pipeline, skb->data, dsp 722 drivers/isdn/mISDN/dsp_core.c if (dsp->rx_volume) dsp 723 drivers/isdn/mISDN/dsp_core.c dsp_change_volume(skb, dsp->rx_volume); dsp 725 drivers/isdn/mISDN/dsp_core.c if (dsp->dtmf.software) { dsp 726 drivers/isdn/mISDN/dsp_core.c digits = dsp_dtmf_goertzel_decode(dsp, skb->data, dsp 730 drivers/isdn/mISDN/dsp_core.c if (dsp->conf && dsp->conf->software) { dsp 732 drivers/isdn/mISDN/dsp_core.c dsp_cmx_receive(dsp, skb); dsp 745 drivers/isdn/mISDN/dsp_core.c __func__, *digits, dsp->name); dsp 751 drivers/isdn/mISDN/dsp_core.c if (dsp->up) { dsp 752 drivers/isdn/mISDN/dsp_core.c if (dsp->up->send( dsp 753 drivers/isdn/mISDN/dsp_core.c dsp->up, nskb)) dsp 761 drivers/isdn/mISDN/dsp_core.c if (dsp->rx_disabled) { dsp 766 drivers/isdn/mISDN/dsp_core.c if (dsp->up) dsp 767 drivers/isdn/mISDN/dsp_core.c return dsp->up->send(dsp->up, skb); dsp 773 drivers/isdn/mISDN/dsp_core.c hh->id, skb->len, dsp->name); dsp 776 drivers/isdn/mISDN/dsp_core.c if (!dsp->dtmf.hardware) { dsp 783 drivers/isdn/mISDN/dsp_core.c digits = dsp_dtmf_goertzel_decode(dsp, skb->data, dsp 791 drivers/isdn/mISDN/dsp_core.c __func__, *digits, dsp->name); dsp 797 drivers/isdn/mISDN/dsp_core.c if (dsp->up) { dsp 798 drivers/isdn/mISDN/dsp_core.c if (dsp->up->send( dsp 799 drivers/isdn/mISDN/dsp_core.c dsp->up, nskb)) dsp 813 drivers/isdn/mISDN/dsp_core.c dsp->tx_volume = *((int *)skb->data); dsp 816 drivers/isdn/mISDN/dsp_core.c "%d\n", __func__, dsp->tx_volume); dsp 817 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 818 drivers/isdn/mISDN/dsp_core.c dsp_dtmf_hardware(dsp); dsp 819 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 825 drivers/isdn/mISDN/dsp_core.c "%s\n", __func__, hh->id, dsp->name); dsp 833 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name); dsp 836 drivers/isdn/mISDN/dsp_core.c dsp->b_active = 1; dsp 837 drivers/isdn/mISDN/dsp_core.c dsp->data_pending = 0; dsp 838 drivers/isdn/mISDN/dsp_core.c dsp->rx_init = 1; dsp 840 drivers/isdn/mISDN/dsp_core.c dsp->rx_W = 0; dsp 841 drivers/isdn/mISDN/dsp_core.c dsp->rx_R = 0; dsp 842 drivers/isdn/mISDN/dsp_core.c memset(dsp->rx_buff, 0, sizeof(dsp->rx_buff)); dsp 843 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 844 drivers/isdn/mISDN/dsp_core.c dsp_dtmf_hardware(dsp); dsp 845 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 850 drivers/isdn/mISDN/dsp_core.c dsp->name); dsp 853 drivers/isdn/mISDN/dsp_core.c if (dsp->up) dsp 854 drivers/isdn/mISDN/dsp_core.c return dsp->up->send(dsp->up, skb); dsp 860 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name); dsp 863 drivers/isdn/mISDN/dsp_core.c dsp->b_active = 0; dsp 864 drivers/isdn/mISDN/dsp_core.c dsp->data_pending = 0; dsp 865 drivers/isdn/mISDN/dsp_core.c dsp_cmx_hardware(dsp->conf, dsp); dsp 866 drivers/isdn/mISDN/dsp_core.c dsp_rx_off(dsp); dsp 869 drivers/isdn/mISDN/dsp_core.c if (dsp->up) dsp 870 drivers/isdn/mISDN/dsp_core.c return dsp->up->send(dsp->up, skb); dsp 879 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc) { dsp 881 drivers/isdn/mISDN/dsp_core.c if (!dsp->b_active) { dsp 887 drivers/isdn/mISDN/dsp_core.c skb_queue_tail(&dsp->sendq, skb); dsp 888 drivers/isdn/mISDN/dsp_core.c schedule_work(&dsp->workq); dsp 893 drivers/isdn/mISDN/dsp_core.c if (!dsp->tone.tone) { dsp 895 drivers/isdn/mISDN/dsp_core.c dsp_cmx_transmit(dsp, skb); dsp 901 drivers/isdn/mISDN/dsp_core.c ret = dsp_control_req(dsp, hh, skb); dsp 908 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name); dsp 909 drivers/isdn/mISDN/dsp_core.c if (dsp->dtmf.hardware || dsp->dtmf.software) dsp 910 drivers/isdn/mISDN/dsp_core.c dsp_dtmf_goertzel_init(dsp); dsp 913 drivers/isdn/mISDN/dsp_core.c if (dsp->features_fill_empty) dsp 914 drivers/isdn/mISDN/dsp_core.c dsp_fill_empty(dsp); dsp 924 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name); dsp 926 drivers/isdn/mISDN/dsp_core.c dsp->tone.tone = 0; dsp 927 drivers/isdn/mISDN/dsp_core.c dsp->tone.hardware = 0; dsp 928 drivers/isdn/mISDN/dsp_core.c dsp->tone.software = 0; dsp 929 drivers/isdn/mISDN/dsp_core.c if (timer_pending(&dsp->tone.tl)) dsp 930 drivers/isdn/mISDN/dsp_core.c del_timer(&dsp->tone.tl); dsp 931 drivers/isdn/mISDN/dsp_core.c if (dsp->conf) dsp 932 drivers/isdn/mISDN/dsp_core.c dsp_cmx_conf(dsp, 0); /* dsp_cmx_hardware will also be dsp 934 drivers/isdn/mISDN/dsp_core.c skb_queue_purge(&dsp->sendq); dsp 943 drivers/isdn/mISDN/dsp_core.c __func__, hh->prim, dsp->name); dsp 954 drivers/isdn/mISDN/dsp_core.c struct dsp *dsp = container_of(ch, struct dsp, ch); dsp 965 drivers/isdn/mISDN/dsp_core.c if (dsp->ch.peer) dsp 966 drivers/isdn/mISDN/dsp_core.c dsp->ch.peer->ctrl(dsp->ch.peer, CLOSE_CHANNEL, NULL); dsp 972 drivers/isdn/mISDN/dsp_core.c dsp->b_active = 0; dsp 975 drivers/isdn/mISDN/dsp_core.c cancel_work_sync(&dsp->workq); dsp 977 drivers/isdn/mISDN/dsp_core.c if (timer_pending(&dsp->tone.tl)) dsp 978 drivers/isdn/mISDN/dsp_core.c del_timer(&dsp->tone.tl); dsp 979 drivers/isdn/mISDN/dsp_core.c skb_queue_purge(&dsp->sendq); dsp 982 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name); dsp 983 drivers/isdn/mISDN/dsp_core.c dsp->b_active = 0; dsp 984 drivers/isdn/mISDN/dsp_core.c dsp_cmx_conf(dsp, 0); /* dsp_cmx_hardware will also be called dsp 986 drivers/isdn/mISDN/dsp_core.c dsp_pipeline_destroy(&dsp->pipeline); dsp 990 drivers/isdn/mISDN/dsp_core.c __func__, dsp->name); dsp 991 drivers/isdn/mISDN/dsp_core.c list_del(&dsp->list); dsp 997 drivers/isdn/mISDN/dsp_core.c vfree(dsp); dsp 1007 drivers/isdn/mISDN/dsp_core.c struct dsp *dsp = container_of(work, struct dsp, workq); dsp 1011 drivers/isdn/mISDN/dsp_core.c if (dsp->hdlc && dsp->data_pending) dsp 1015 drivers/isdn/mISDN/dsp_core.c while ((skb = skb_dequeue(&dsp->sendq))) { dsp 1017 drivers/isdn/mISDN/dsp_core.c if (dsp->data_pending) { dsp 1020 drivers/isdn/mISDN/dsp_core.c "no bug!\n", __func__, dsp->name); dsp 1028 drivers/isdn/mISDN/dsp_core.c if (dsp->up) { dsp 1029 drivers/isdn/mISDN/dsp_core.c if (dsp->up->send(dsp->up, skb)) dsp 1035 drivers/isdn/mISDN/dsp_core.c if (dsp->ch.peer) { dsp 1036 drivers/isdn/mISDN/dsp_core.c dsp->data_pending = 1; dsp 1037 drivers/isdn/mISDN/dsp_core.c if (dsp->ch.recv(dsp->ch.peer, skb)) { dsp 1039 drivers/isdn/mISDN/dsp_core.c dsp->data_pending = 0; dsp 1050 drivers/isdn/mISDN/dsp_core.c struct dsp *ndsp; dsp 1056 drivers/isdn/mISDN/dsp_core.c ndsp = vzalloc(sizeof(struct dsp)); dsp 40 drivers/isdn/mISDN/dsp_dtmf.c void dsp_dtmf_goertzel_init(struct dsp *dsp) dsp 42 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.size = 0; dsp 43 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.lastwhat = '\0'; dsp 44 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.lastdigit = '\0'; dsp 45 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.count = 0; dsp 50 drivers/isdn/mISDN/dsp_dtmf.c void dsp_dtmf_hardware(struct dsp *dsp) dsp 54 drivers/isdn/mISDN/dsp_dtmf.c if (!dsp->dtmf.enable) dsp 57 drivers/isdn/mISDN/dsp_dtmf.c if (!dsp->features.hfc_dtmf) dsp 61 drivers/isdn/mISDN/dsp_dtmf.c if (dsp->tx_volume) { dsp 65 drivers/isdn/mISDN/dsp_dtmf.c __func__, dsp->name); dsp 68 drivers/isdn/mISDN/dsp_dtmf.c if (dsp->rx_volume) { dsp 72 drivers/isdn/mISDN/dsp_dtmf.c __func__, dsp->name); dsp 76 drivers/isdn/mISDN/dsp_dtmf.c if (dsp->bf_enable) { dsp 80 drivers/isdn/mISDN/dsp_dtmf.c __func__, dsp->name); dsp 84 drivers/isdn/mISDN/dsp_dtmf.c if (dsp->pipeline.inuse) { dsp 88 drivers/isdn/mISDN/dsp_dtmf.c __func__, dsp->name); dsp 92 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.hardware = hardware; dsp 93 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.software = !hardware; dsp 118 drivers/isdn/mISDN/dsp_dtmf.c *dsp_dtmf_goertzel_decode(struct dsp *dsp, u8 *data, int len, int fmt) dsp 130 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.digits[0] = '\0'; dsp 137 drivers/isdn/mISDN/dsp_dtmf.c size = dsp->dtmf.size; dsp 138 drivers/isdn/mISDN/dsp_dtmf.c buf = dsp->dtmf.buffer; dsp 155 drivers/isdn/mISDN/dsp_dtmf.c return dsp->dtmf.digits; dsp 176 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.size = size; dsp 179 drivers/isdn/mISDN/dsp_dtmf.c return dsp->dtmf.digits; dsp 181 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.size = 0; dsp 188 drivers/isdn/mISDN/dsp_dtmf.c buf = dsp->dtmf.buffer; dsp 214 drivers/isdn/mISDN/dsp_dtmf.c if (result[i] > dsp->dtmf.treshold) { dsp 287 drivers/isdn/mISDN/dsp_dtmf.c if (dsp->dtmf.lastwhat != what) dsp 288 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.count = 0; dsp 291 drivers/isdn/mISDN/dsp_dtmf.c if (dsp->dtmf.count == 2) { dsp 292 drivers/isdn/mISDN/dsp_dtmf.c if (dsp->dtmf.lastdigit != what) { dsp 293 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.lastdigit = what; dsp 298 drivers/isdn/mISDN/dsp_dtmf.c if ((strlen(dsp->dtmf.digits) + 1) dsp 299 drivers/isdn/mISDN/dsp_dtmf.c < sizeof(dsp->dtmf.digits)) { dsp 300 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.digits[strlen( dsp 301 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.digits) + 1] = '\0'; dsp 302 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.digits[strlen( dsp 303 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.digits)] = what; dsp 308 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.count++; dsp 310 drivers/isdn/mISDN/dsp_dtmf.c dsp->dtmf.lastwhat = what; dsp 34 drivers/isdn/mISDN/dsp_hwec.c void dsp_hwec_enable(struct dsp *dsp, const char *arg) dsp 40 drivers/isdn/mISDN/dsp_hwec.c if (!dsp) { dsp 85 drivers/isdn/mISDN/dsp_hwec.c if (!dsp->ch.peer->ctrl(&dsp->ch, CONTROL_CHANNEL, &cq)) { dsp 92 drivers/isdn/mISDN/dsp_hwec.c void dsp_hwec_disable(struct dsp *dsp) dsp 96 drivers/isdn/mISDN/dsp_hwec.c if (!dsp) { dsp 105 drivers/isdn/mISDN/dsp_hwec.c if (!dsp->ch.peer->ctrl(&dsp->ch, CONTROL_CHANNEL, &cq)) { dsp 7 drivers/isdn/mISDN/dsp_hwec.h extern void dsp_hwec_enable(struct dsp *dsp, const char *arg); dsp 8 drivers/isdn/mISDN/dsp_hwec.h extern void dsp_hwec_disable(struct dsp *dsp); dsp 198 drivers/isdn/mISDN/dsp_pipeline.c dsp_hwec_disable(container_of(pipeline, struct dsp, dsp 263 drivers/isdn/mISDN/dsp_pipeline.c struct dsp, pipeline), args); dsp 375 drivers/isdn/mISDN/dsp_tones.c void dsp_tone_copy(struct dsp *dsp, u8 *data, int len) dsp 379 drivers/isdn/mISDN/dsp_tones.c struct dsp_tone *tone = &dsp->tone; dsp 438 drivers/isdn/mISDN/dsp_tones.c dsp_tone_hw_message(struct dsp *dsp, u8 *sample, int len) dsp 447 drivers/isdn/mISDN/dsp_tones.c if (dsp->ch.peer) { dsp 448 drivers/isdn/mISDN/dsp_tones.c if (dsp->ch.recv(dsp->ch.peer, nskb)) dsp 462 drivers/isdn/mISDN/dsp_tones.c struct dsp *dsp = from_timer(dsp, t, tone.tl); dsp 463 drivers/isdn/mISDN/dsp_tones.c struct dsp_tone *tone = &dsp->tone; dsp 477 drivers/isdn/mISDN/dsp_tones.c dsp_tone_hw_message(dsp, NULL, 0); dsp 479 drivers/isdn/mISDN/dsp_tones.c dsp_tone_hw_message(dsp, pat->data[index], *(pat->siz[index])); dsp 496 drivers/isdn/mISDN/dsp_tones.c dsp_tone(struct dsp *dsp, int tone) dsp 500 drivers/isdn/mISDN/dsp_tones.c struct dsp_tone *tonet = &dsp->tone; dsp 507 drivers/isdn/mISDN/dsp_tones.c if (dsp->features.hfc_loops && timer_pending(&tonet->tl)) dsp 509 drivers/isdn/mISDN/dsp_tones.c if (dsp->features.hfc_loops) dsp 510 drivers/isdn/mISDN/dsp_tones.c dsp_tone_hw_message(dsp, NULL, 0); dsp 536 drivers/isdn/mISDN/dsp_tones.c if (dsp->features.hfc_loops) { dsp 539 drivers/isdn/mISDN/dsp_tones.c dsp_tone_hw_message(dsp, pat->data[0], *(pat->siz[0])); dsp 127 drivers/media/radio/radio-timb.c i2c_get_adapter(pdata->i2c_adapter), pdata->dsp, NULL); dsp 278 drivers/mfd/timberdale.c .dsp = &timberdale_saa7706_i2c_board_info dsp 773 drivers/net/wireless/intel/iwlegacy/4965.c u8 dsp; dsp 1219 drivers/net/wireless/intel/iwlegacy/4965.c gain_table[band][power_idx].dsp; dsp 548 drivers/scsi/53c700.c struct scsi_cmnd *SCp, __u32 dsp) dsp 555 drivers/scsi/53c700.c slot->resume_offset = dsp; dsp 766 drivers/scsi/53c700.c struct scsi_cmnd *SCp, __u32 dsp, __u32 dsps) dsp 768 drivers/scsi/53c700.c __u32 resume_offset = dsp, temp = dsp + 8; dsp 848 drivers/scsi/53c700.c struct scsi_cmnd *SCp, __u32 dsp, __u32 dsps) dsp 851 drivers/scsi/53c700.c __u32 temp = dsp + 8, resume_offset = dsp; dsp 870 drivers/scsi/53c700.c dsp, dsps); dsp 936 drivers/scsi/53c700.c process_script_interrupt(__u32 dsps, __u32 dsp, struct scsi_cmnd *SCp, dsp 1073 drivers/scsi/53c700.c save_for_reselection(hostdata, SCp, dsp); dsp 1177 drivers/scsi/53c700.c host->host_no, reselection_id, lun, dsp, dsp - hostdata->pScript, hostdata->state, hostdata->command_slot_count); dsp 1231 drivers/scsi/53c700.c dsp, dsps); dsp 1236 drivers/scsi/53c700.c NCR_700_phase[j], dsp - hostdata->pScript); dsp 1248 drivers/scsi/53c700.c host->host_no, pun, lun, dsps & 0xfff, dsp, dsp - hostdata->pScript); dsp 1249 drivers/scsi/53c700.c resume_offset = dsp; dsp 1252 drivers/scsi/53c700.c host->host_no, pun, lun, dsps, dsp - hostdata->pScript); dsp 1266 drivers/scsi/53c700.c process_selection(struct Scsi_Host *host, __u32 dsp) dsp 1299 drivers/scsi/53c700.c DEBUG((" ID %d WARNING: RESELECTION OF BUSY HOST, saving cmd %p, slot %p, addr %x [%04x], resume %x!\n", id, hostdata->cmd, slot, dsp, dsp - hostdata->pScript, resume_offset)); dsp 1301 drivers/scsi/53c700.c switch(dsp - hostdata->pScript) { dsp 1320 drivers/scsi/53c700.c process_script_interrupt(A_GOOD_STATUS_AFTER_STATUS, dsp, SCp, host, hostdata); dsp 1486 drivers/scsi/53c700.c __u32 dsp; dsp 1507 drivers/scsi/53c700.c dsp = NCR_700_readl(host, DSP_REG); dsp 1511 drivers/scsi/53c700.c (dsp - (__u32)(hostdata->pScript))/4, dsp 1512 drivers/scsi/53c700.c dsp, dsps)); dsp 1526 drivers/scsi/53c700.c host->host_no, SCp, SCp == NULL ? NULL : SCp->host_scribble, dsp, dsp - hostdata->pScript); dsp 1575 drivers/scsi/53c700.c if(dsp == Ent_SendMessage + 8 + hostdata->pScript) { dsp 1584 drivers/scsi/53c700.c } else if(dsp >= to32bit(&slot->pSG[0].ins) && dsp 1585 drivers/scsi/53c700.c dsp <= to32bit(&slot->pSG[NCR_700_SG_SEGMENTS].ins)) { dsp 1587 drivers/scsi/53c700.c int SGcount = (dsp - to32bit(&slot->pSG[0].ins))/sizeof(struct NCR_700_SG_List); dsp 1638 drivers/scsi/53c700.c host->host_no, pun, lun, dsp - hostdata->pScript, sbcl_to_string(sbcl)); dsp 1653 drivers/scsi/53c700.c resume_offset = process_script_interrupt(dsps, dsp, SCp, host, hostdata); dsp 1658 drivers/scsi/53c700.c dsp, dsp - hostdata->pScript); dsp 1688 drivers/scsi/53c700.c resume_offset = process_selection(host, dsp); dsp 2281 drivers/scsi/be2iscsi/be_main.c AMAP_SET_BITS(struct amap_iscsi_wrb, dsp, dsp 2284 drivers/scsi/be2iscsi/be_main.c AMAP_SET_BITS(struct amap_iscsi_wrb_v2, dsp, dsp 2309 drivers/scsi/be2iscsi/be_main.c AMAP_SET_BITS(struct amap_iscsi_wrb, dsp, pwrb, 0); dsp 4537 drivers/scsi/be2iscsi/be_main.c AMAP_SET_BITS(struct amap_iscsi_wrb_v2, dsp, pwrb, 1); dsp 4541 drivers/scsi/be2iscsi/be_main.c AMAP_SET_BITS(struct amap_iscsi_wrb_v2, dsp, pwrb, 0); dsp 4597 drivers/scsi/be2iscsi/be_main.c AMAP_SET_BITS(struct amap_iscsi_wrb, dsp, pwrb, 1); dsp 4601 drivers/scsi/be2iscsi/be_main.c AMAP_SET_BITS(struct amap_iscsi_wrb, dsp, pwrb, 0); dsp 714 drivers/scsi/be2iscsi/be_main.h u8 dsp; /* DWORD 0 */ dsp 776 drivers/scsi/be2iscsi/be_main.h u8 dsp; /* DWORD 11 */ dsp 870 drivers/scsi/be2iscsi/be_main.h u8 dsp; /* DWORD 0 */ dsp 5816 drivers/scsi/ncr53c8xx.c u32 dsp; dsp 5823 drivers/scsi/ncr53c8xx.c dsp = INL (nc_dsp); dsp 5825 drivers/scsi/ncr53c8xx.c if (dsp > np->p_script && dsp <= np->p_script + sizeof(struct script)) { dsp 5826 drivers/scsi/ncr53c8xx.c script_ofs = dsp - np->p_script; dsp 5831 drivers/scsi/ncr53c8xx.c else if (np->p_scripth < dsp && dsp 5832 drivers/scsi/ncr53c8xx.c dsp <= np->p_scripth + sizeof(struct scripth)) { dsp 5833 drivers/scsi/ncr53c8xx.c script_ofs = dsp - np->p_scripth; dsp 5838 drivers/scsi/ncr53c8xx.c script_ofs = dsp; dsp 6238 drivers/scsi/ncr53c8xx.c u32 dsp; dsp 6249 drivers/scsi/ncr53c8xx.c dsp = INL (nc_dsp); dsp 6325 drivers/scsi/ncr53c8xx.c if (dsp > np->p_script && dsp 6326 drivers/scsi/ncr53c8xx.c dsp <= np->p_script + sizeof(struct script)) { dsp 6327 drivers/scsi/ncr53c8xx.c vdsp = (u32 *)((char*)np->script0 + (dsp-np->p_script-8)); dsp 6328 drivers/scsi/ncr53c8xx.c nxtdsp = dsp; dsp 6330 drivers/scsi/ncr53c8xx.c else if (dsp > np->p_scripth && dsp 6331 drivers/scsi/ncr53c8xx.c dsp <= np->p_scripth + sizeof(struct scripth)) { dsp 6332 drivers/scsi/ncr53c8xx.c vdsp = (u32 *)((char*)np->scripth0 + (dsp-np->p_scripth-8)); dsp 6333 drivers/scsi/ncr53c8xx.c nxtdsp = dsp; dsp 6336 drivers/scsi/ncr53c8xx.c if (dsp == CCB_PHYS (cp, patch[2])) { dsp 6340 drivers/scsi/ncr53c8xx.c else if (dsp == CCB_PHYS (cp, patch[6])) { dsp 6353 drivers/scsi/ncr53c8xx.c (unsigned)dsp, dsp 6492 drivers/scsi/ncr53c8xx.c dsp -= 8; dsp 6505 drivers/scsi/ncr53c8xx.c np->scripth->nxtdsp_go_on[0] = cpu_to_scr(dsp + 8); dsp 6506 drivers/scsi/ncr53c8xx.c if (dsp == NCB_SCRIPT_PHYS (np, send_ident)) { dsp 6510 drivers/scsi/ncr53c8xx.c else if (dsp == NCB_SCRIPTH_PHYS (np, send_wdtr) || dsp 6511 drivers/scsi/ncr53c8xx.c dsp == NCB_SCRIPTH_PHYS (np, send_sdtr)) { dsp 1120 drivers/scsi/sym53c8xx_2/sym_hipd.c u32 dsp; dsp 1127 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp = INL(np, nc_dsp); dsp 1129 drivers/scsi/sym53c8xx_2/sym_hipd.c if (dsp > np->scripta_ba && dsp 1130 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp <= np->scripta_ba + np->scripta_sz) { dsp 1131 drivers/scsi/sym53c8xx_2/sym_hipd.c script_ofs = dsp - np->scripta_ba; dsp 1136 drivers/scsi/sym53c8xx_2/sym_hipd.c else if (np->scriptb_ba < dsp && dsp 1137 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp <= np->scriptb_ba + np->scriptb_sz) { dsp 1138 drivers/scsi/sym53c8xx_2/sym_hipd.c script_ofs = dsp - np->scriptb_ba; dsp 1143 drivers/scsi/sym53c8xx_2/sym_hipd.c script_ofs = dsp; dsp 2175 drivers/scsi/sym53c8xx_2/sym_hipd.c u32 dsp = INL(np, nc_dsp); dsp 2184 drivers/scsi/sym53c8xx_2/sym_hipd.c if ((!(dsp > SCRIPTA_BA(np, getjob_begin) && dsp 2185 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp < SCRIPTA_BA(np, getjob_end) + 1)) && dsp 2186 drivers/scsi/sym53c8xx_2/sym_hipd.c (!(dsp > SCRIPTA_BA(np, ungetjob) && dsp 2187 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp < SCRIPTA_BA(np, reselect) + 1)) && dsp 2188 drivers/scsi/sym53c8xx_2/sym_hipd.c (!(dsp > SCRIPTB_BA(np, sel_for_abort) && dsp 2189 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp < SCRIPTB_BA(np, sel_for_abort_1) + 1)) && dsp 2190 drivers/scsi/sym53c8xx_2/sym_hipd.c (!(dsp > SCRIPTA_BA(np, done) && dsp 2191 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp < SCRIPTA_BA(np, done_end) + 1))) { dsp 2226 drivers/scsi/sym53c8xx_2/sym_hipd.c u32 dsp = INL(np, nc_dsp); dsp 2230 drivers/scsi/sym53c8xx_2/sym_hipd.c if (dsp == SCRIPTA_BA(np, wf_sel_done) + 8) dsp 2300 drivers/scsi/sym53c8xx_2/sym_hipd.c u32 dsp = INL(np, nc_dsp); dsp 2354 drivers/scsi/sym53c8xx_2/sym_hipd.c if (dsp == SCRIPTB_BA(np, pm_handle)) dsp 2355 drivers/scsi/sym53c8xx_2/sym_hipd.c OUTL_DSP(np, dsp); dsp 2361 drivers/scsi/sym53c8xx_2/sym_hipd.c sym_set_script_dp (np, cp, dsp); dsp 2390 drivers/scsi/sym53c8xx_2/sym_hipd.c u32 dsp; dsp 2403 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp = INL(np, nc_dsp); dsp 2484 drivers/scsi/sym53c8xx_2/sym_hipd.c if (dsp > np->scripta_ba && dsp 2485 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp <= np->scripta_ba + np->scripta_sz) { dsp 2486 drivers/scsi/sym53c8xx_2/sym_hipd.c vdsp = (u32 *)((char*)np->scripta0 + (dsp-np->scripta_ba-8)); dsp 2487 drivers/scsi/sym53c8xx_2/sym_hipd.c nxtdsp = dsp; dsp 2489 drivers/scsi/sym53c8xx_2/sym_hipd.c else if (dsp > np->scriptb_ba && dsp 2490 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp <= np->scriptb_ba + np->scriptb_sz) { dsp 2491 drivers/scsi/sym53c8xx_2/sym_hipd.c vdsp = (u32 *)((char*)np->scriptb0 + (dsp-np->scriptb_ba-8)); dsp 2492 drivers/scsi/sym53c8xx_2/sym_hipd.c nxtdsp = dsp; dsp 2500 drivers/scsi/sym53c8xx_2/sym_hipd.c cp, (unsigned)dsp, (unsigned)nxtdsp, vdsp, cmd); dsp 2682 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp -= 8; dsp 2701 drivers/scsi/sym53c8xx_2/sym_hipd.c if (dsp == SCRIPTA_BA(np, send_ident)) { dsp 2710 drivers/scsi/sym53c8xx_2/sym_hipd.c else if (dsp == SCRIPTB_BA(np, send_wdtr) || dsp 2711 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp == SCRIPTB_BA(np, send_sdtr) || dsp 2712 drivers/scsi/sym53c8xx_2/sym_hipd.c dsp == SCRIPTB_BA(np, send_ppr)) { dsp 2714 drivers/scsi/sym53c8xx_2/sym_hipd.c if (dsp == SCRIPTB_BA(np, send_ppr)) { dsp 722 drivers/usb/atm/ueagle-atm.c static int check_dsp_e1(const u8 *dsp, unsigned int len) dsp 729 drivers/usb/atm/ueagle-atm.c pagecount = FW_GET_BYTE(dsp); dsp 738 drivers/usb/atm/ueagle-atm.c pageoffset = get_unaligned_le32(dsp + p); dsp 749 drivers/usb/atm/ueagle-atm.c blockcount = FW_GET_BYTE(dsp + pp); dsp 759 drivers/usb/atm/ueagle-atm.c blocksize = get_unaligned_le16(dsp + pp); dsp 773 drivers/usb/atm/ueagle-atm.c static int check_dsp_e4(const u8 *dsp, int len) dsp 776 drivers/usb/atm/ueagle-atm.c struct l1_code *p = (struct l1_code *) dsp; dsp 777 drivers/usb/atm/ueagle-atm.c unsigned int sum = p->code - dsp; dsp 799 drivers/usb/atm/ueagle-atm.c if ((u8 *)(blockidx + 1) - dsp >= len) dsp 1421 drivers/video/fbdev/aty/aty128fb.c static void aty128_set_fifo(const struct aty128_ddafifo *dsp, dsp 1424 drivers/video/fbdev/aty/aty128fb.c aty_st_le32(DDA_CONFIG, dsp->dda_config); dsp 1425 drivers/video/fbdev/aty/aty128fb.c aty_st_le32(DDA_ON_OFF, dsp->dda_on_off); dsp 1429 drivers/video/fbdev/aty/aty128fb.c static int aty128_ddafifo(struct aty128_ddafifo *dsp, dsp 1479 drivers/video/fbdev/aty/aty128fb.c dsp->dda_config = p << 16 | m->Rloop << 20 | x; dsp 1480 drivers/video/fbdev/aty/aty128fb.c dsp->dda_on_off = ron << 16 | roff; dsp 56 include/linux/firmware/imx/dsp.h int imx_dsp_ring_doorbell(struct imx_dsp_ipc *dsp, unsigned int chan_idx); dsp 15 include/linux/platform_data/media/timb_radio.h struct i2c_board_info *dsp; dsp 199 include/sound/vx_core.h int snd_vx_load_boot_image(struct vx_core *chip, const struct firmware *dsp); dsp 200 include/sound/vx_core.h int snd_vx_dsp_boot(struct vx_core *chip, const struct firmware *dsp); dsp 201 include/sound/vx_core.h int snd_vx_dsp_load(struct vx_core *chip, const struct firmware *dsp); dsp 246 net/dns_resolver/dns_key.c const char *src = key->description, *dsp = match_data->raw_data; dsp 248 net/dns_resolver/dns_key.c kenter("%s,%s", src, dsp); dsp 250 net/dns_resolver/dns_key.c if (!src || !dsp) dsp 253 net/dns_resolver/dns_key.c if (strcasecmp(src, dsp) == 0) dsp 257 net/dns_resolver/dns_key.c dlen = strlen(dsp); dsp 262 net/dns_resolver/dns_key.c if (dsp[dlen - 1] == '.') dsp 264 net/dns_resolver/dns_key.c if (slen != dlen || strncasecmp(src, dsp, slen) != 0) dsp 988 security/smack/smack_lsm.c struct smack_known *dsp = smk_of_inode(dir); dsp 996 security/smack/smack_lsm.c may = smk_access_entry(skp->smk_known, dsp->smk_known, dsp 1008 security/smack/smack_lsm.c isp = dsp; dsp 664 sound/drivers/vx/vx_core.c int snd_vx_dsp_load(struct vx_core *chip, const struct firmware *dsp) dsp 671 sound/drivers/vx/vx_core.c if (dsp->size % 3) dsp 677 sound/drivers/vx/vx_core.c for (i = 0; i < dsp->size; i += 3) { dsp 678 sound/drivers/vx/vx_core.c image = dsp->data + i; dsp 165 sound/oss/dmasound/dmasound.h SETTINGS dsp; /* /dev/dsp default settings */ dsp 976 sound/oss/dmasound/dmasound_atari.c dmasound.dsp.format = format; dsp 977 sound/oss/dmasound/dmasound_atari.c dmasound.dsp.size = 8; dsp 1141 sound/oss/dmasound/dmasound_atari.c dmasound.dsp.format = format; dsp 1142 sound/oss/dmasound/dmasound_atari.c dmasound.dsp.size = dmasound.soft.size; dsp 256 sound/oss/dmasound/dmasound_core.c dmasound.dsp.speed = dmasound.soft.speed; dsp 270 sound/oss/dmasound/dmasound_core.c dmasound.dsp.stereo = stereo; dsp 799 sound/oss/dmasound/dmasound_core.c dmasound.dsp = dmasound.mach.default_soft ; dsp 1197 sound/oss/dmasound/dmasound_core.c dmasound.dsp = dmasound.mach.default_soft ; dsp 414 sound/oss/dmasound/dmasound_paula.c dmasound.dsp.format = format; dsp 415 sound/oss/dmasound/dmasound_paula.c dmasound.dsp.size = dmasound.soft.size; dsp 564 sound/oss/dmasound/dmasound_q40.c dmasound.dsp.format = format; dsp 565 sound/oss/dmasound/dmasound_q40.c dmasound.dsp.size = 8; dsp 1263 sound/pci/asihpi/hpi6205.c int dsp = 0, i = 0; dsp 1359 sound/pci/asihpi/hpi6205.c for (dsp = 0; dsp < HPI6205_MAX_FILES_TO_LOAD; dsp++) { dsp 1361 sound/pci/asihpi/hpi6205.c if (boot_code_id[dsp] == 0) dsp 1364 sound/pci/asihpi/hpi6205.c err = boot_loader_config_emif(pao, dsp); dsp 1368 sound/pci/asihpi/hpi6205.c err = boot_loader_test_internal_memory(pao, dsp); dsp 1372 sound/pci/asihpi/hpi6205.c err = boot_loader_test_external_memory(pao, dsp); dsp 1376 sound/pci/asihpi/hpi6205.c err = boot_loader_test_pld(pao, dsp); dsp 1381 sound/pci/asihpi/hpi6205.c err = hpi_dsp_code_open(boot_code_id[dsp], pao->pci.pci_dev, dsp 1409 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp, address, dsp 1414 sound/pci/asihpi/hpi6205.c boot_loader_read_mem32(pao, dsp, dsp 1444 sound/pci/asihpi/hpi6205.c data = boot_loader_read_mem32(pao, dsp, dsp 1998 sound/pci/echoaudio/echoaudio.c char *dsp; dsp 2023 sound/pci/echoaudio/echoaudio.c dsp = "56301"; dsp 2025 sound/pci/echoaudio/echoaudio.c dsp = "56361"; dsp 2028 sound/pci/echoaudio/echoaudio.c card->shortname, pci_id->subdevice & 0x000f, dsp, dsp 89 sound/pci/mixart/mixart_hwdep.c static int mixart_load_elf(struct mixart_mgr *mgr, const struct firmware *dsp ) dsp 95 sound/pci/mixart/mixart_hwdep.c elf_header = (struct snd_mixart_elf32_ehdr *)dsp->data; dsp 106 sound/pci/mixart/mixart_hwdep.c memcpy( &elf_programheader, dsp->data + pos, sizeof(elf_programheader) ); dsp 111 sound/pci/mixart/mixart_hwdep.c dsp->data + be32_to_cpu( elf_programheader.p_offset ), dsp 332 sound/pci/mixart/mixart_hwdep.c static int mixart_dsp_load(struct mixart_mgr* mgr, int index, const struct firmware *dsp) dsp 368 sound/pci/mixart/mixart_hwdep.c if (((u32*)(dsp->data))[0] == 0xffffffff) dsp 370 sound/pci/mixart/mixart_hwdep.c if (dsp->size % 4) dsp 379 sound/pci/mixart/mixart_hwdep.c writel_be( dsp->size, MIXART_MEM( mgr, MIXART_PSEUDOREG_MXLX_SIZE_OFFSET )); dsp 382 sound/pci/mixart/mixart_hwdep.c memcpy_toio( MIXART_MEM( mgr, MIXART_MOTHERBOARD_XLX_BASE_ADDRESS), dsp->data, dsp->size); dsp 421 sound/pci/mixart/mixart_hwdep.c err = mixart_load_elf( mgr, dsp ); dsp 475 sound/pci/mixart/mixart_hwdep.c if (((u32*)(dsp->data))[0] == 0xffffffff) dsp 477 sound/pci/mixart/mixart_hwdep.c if (dsp->size % 4) dsp 481 sound/pci/mixart/mixart_hwdep.c writel_be( dsp->size, MIXART_MEM( mgr, MIXART_PSEUDOREG_DXLX_SIZE_OFFSET )); dsp 499 sound/pci/mixart/mixart_hwdep.c memcpy_toio( MIXART_MEM( mgr, val), dsp->data, dsp->size); dsp 320 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_download_dsp(struct pcxhr_mgr *mgr, const struct firmware *dsp) dsp 328 sound/pci/pcxhr/pcxhr_core.c if (dsp->size <= 0) dsp 330 sound/pci/pcxhr/pcxhr_core.c if (dsp->size % 3) dsp 332 sound/pci/pcxhr/pcxhr_core.c if (snd_BUG_ON(!dsp->data)) dsp 335 sound/pci/pcxhr/pcxhr_core.c for (i = 0; i < dsp->size; i += 3) { dsp 336 sound/pci/pcxhr/pcxhr_core.c data = dsp->data + i; dsp 342 sound/pci/pcxhr/pcxhr_core.c if (len && (dsp->size != (len + 2) * 3)) dsp 432 sound/pci/pcxhr/pcxhr_core.c int pcxhr_load_dsp_binary(struct pcxhr_mgr *mgr, const struct firmware *dsp) dsp 442 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_download_dsp(mgr, dsp); dsp 23 sound/pci/pcxhr/pcxhr_core.h int pcxhr_load_dsp_binary(struct pcxhr_mgr *mgr, const struct firmware *dsp); dsp 277 sound/pci/pcxhr/pcxhr_hwdep.c const struct firmware *dsp) dsp 282 sound/pci/pcxhr/pcxhr_hwdep.c "loading dsp [%d] size = %zd\n", index, dsp->size); dsp 287 sound/pci/pcxhr/pcxhr_hwdep.c return pcxhr_load_xilinx_binary(mgr, dsp, 0); dsp 291 sound/pci/pcxhr/pcxhr_hwdep.c return pcxhr_load_xilinx_binary(mgr, dsp, 1); dsp 295 sound/pci/pcxhr/pcxhr_hwdep.c return pcxhr_load_eeprom_binary(mgr, dsp); dsp 298 sound/pci/pcxhr/pcxhr_hwdep.c return pcxhr_load_boot_binary(mgr, dsp); dsp 301 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_load_dsp_binary(mgr, dsp); dsp 404 sound/pci/vx222/vx222_ops.c static int vx2_load_dsp(struct vx_core *vx, int index, const struct firmware *dsp) dsp 411 sound/pci/vx222/vx222_ops.c if ((err = vx2_load_xilinx_binary(vx, dsp)) < 0) dsp 418 sound/pci/vx222/vx222_ops.c return snd_vx_dsp_boot(vx, dsp); dsp 421 sound/pci/vx222/vx222_ops.c return snd_vx_dsp_load(vx, dsp); dsp 914 sound/soc/codecs/madera.c struct wm_adsp *dsp, dsp 921 sound/soc/codecs/madera.c val = priv->adsp_rate_cache[dsp->num - 1] << MADERA_DSP_RATE_SHIFT; dsp 935 sound/soc/codecs/madera.c ret = regmap_write(dsp->regmap, dsp 936 sound/soc/codecs/madera.c dsp->base + MADERA_DSP_CONFIG_2_OFFS, freq); dsp 942 sound/soc/codecs/madera.c ret = regmap_update_bits(dsp->regmap, dsp 943 sound/soc/codecs/madera.c dsp->base + MADERA_DSP_CONFIG_1_OFFS, dsp 953 sound/soc/codecs/madera.c dev_err(dsp->dev, "Failed to set DSP%d clock: %d\n", dsp->num, ret); dsp 961 sound/soc/codecs/madera.c struct wm_adsp *dsp = &priv->adsp[dsp_num]; dsp 975 sound/soc/codecs/madera.c ret = regmap_read(dsp->regmap, dsp->base, &cur); dsp 984 sound/soc/codecs/madera.c new = priv->adsp_rate_cache[dsp->num - 1] << MADERA_DSP_RATE_SHIFT; dsp 988 sound/soc/codecs/madera.c return madera_write_adsp_clk_setting(priv, dsp, freq); dsp 994 sound/soc/codecs/madera.c ret = madera_write_adsp_clk_setting(priv, dsp, freq); dsp 354 sound/soc/codecs/wm0010.c u8 *out, dsp; dsp 369 sound/soc/codecs/wm0010.c dsp = inforec->dsp_target; dsp 394 sound/soc/codecs/wm0010.c if (dsp != DEVICE_ID_WM0010) { dsp 84 sound/soc/codecs/wm2200.c struct wm_adsp dsp[2]; dsp 2213 sound/soc/codecs/wm2200.c wm2200->dsp[i].type = WMFW_ADSP1; dsp 2214 sound/soc/codecs/wm2200.c wm2200->dsp[i].part = "wm2200"; dsp 2215 sound/soc/codecs/wm2200.c wm2200->dsp[i].num = i + 1; dsp 2216 sound/soc/codecs/wm2200.c wm2200->dsp[i].dev = &i2c->dev; dsp 2217 sound/soc/codecs/wm2200.c wm2200->dsp[i].regmap = wm2200->regmap; dsp 2218 sound/soc/codecs/wm2200.c wm2200->dsp[i].sysclk_reg = WM2200_CLOCKING_3; dsp 2219 sound/soc/codecs/wm2200.c wm2200->dsp[i].sysclk_mask = WM2200_SYSCLK_FREQ_MASK; dsp 2220 sound/soc/codecs/wm2200.c wm2200->dsp[i].sysclk_shift = WM2200_SYSCLK_FREQ_SHIFT; dsp 2223 sound/soc/codecs/wm2200.c wm2200->dsp[0].base = WM2200_DSP1_CONTROL_1; dsp 2224 sound/soc/codecs/wm2200.c wm2200->dsp[0].mem = wm2200_dsp1_regions; dsp 2225 sound/soc/codecs/wm2200.c wm2200->dsp[0].num_mems = ARRAY_SIZE(wm2200_dsp1_regions); dsp 2227 sound/soc/codecs/wm2200.c wm2200->dsp[1].base = WM2200_DSP2_CONTROL_1; dsp 2228 sound/soc/codecs/wm2200.c wm2200->dsp[1].mem = wm2200_dsp2_regions; dsp 2229 sound/soc/codecs/wm2200.c wm2200->dsp[1].num_mems = ARRAY_SIZE(wm2200_dsp2_regions); dsp 2231 sound/soc/codecs/wm2200.c for (i = 0; i < ARRAY_SIZE(wm2200->dsp); i++) dsp 2232 sound/soc/codecs/wm2200.c wm_adsp1_init(&wm2200->dsp[i]); dsp 1738 sound/soc/codecs/wm8996.c int dsp = 0; dsp 1790 sound/soc/codecs/wm8996.c dsp |= i << dsp_shift; dsp 1805 sound/soc/codecs/wm8996.c WM8996_DSP1_DIV_MASK << dsp_shift, dsp); dsp 47 sound/soc/codecs/wm_adsp.c adsp_err(_obj->dsp, "%s: " fmt, _obj->name ? _obj->name : "legacy", \ dsp 50 sound/soc/codecs/wm_adsp.c adsp_dbg(_obj->dsp, "%s: " fmt, _obj->name ? _obj->name : "legacy", \ dsp 437 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp; dsp 454 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp; dsp 488 sound/soc/codecs/wm_adsp.c static int wm_adsp_buffer_init(struct wm_adsp *dsp); dsp 489 sound/soc/codecs/wm_adsp.c static int wm_adsp_buffer_free(struct wm_adsp *dsp); dsp 604 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp; dsp 641 sound/soc/codecs/wm_adsp.c static void wm_adsp_debugfs_save_wmfwname(struct wm_adsp *dsp, const char *s) dsp 645 sound/soc/codecs/wm_adsp.c kfree(dsp->wmfw_file_name); dsp 646 sound/soc/codecs/wm_adsp.c dsp->wmfw_file_name = tmp; dsp 649 sound/soc/codecs/wm_adsp.c static void wm_adsp_debugfs_save_binname(struct wm_adsp *dsp, const char *s) dsp 653 sound/soc/codecs/wm_adsp.c kfree(dsp->bin_file_name); dsp 654 sound/soc/codecs/wm_adsp.c dsp->bin_file_name = tmp; dsp 657 sound/soc/codecs/wm_adsp.c static void wm_adsp_debugfs_clear(struct wm_adsp *dsp) dsp 659 sound/soc/codecs/wm_adsp.c kfree(dsp->wmfw_file_name); dsp 660 sound/soc/codecs/wm_adsp.c kfree(dsp->bin_file_name); dsp 661 sound/soc/codecs/wm_adsp.c dsp->wmfw_file_name = NULL; dsp 662 sound/soc/codecs/wm_adsp.c dsp->bin_file_name = NULL; dsp 669 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = file->private_data; dsp 672 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 674 sound/soc/codecs/wm_adsp.c if (!dsp->wmfw_file_name || !dsp->booted) dsp 678 sound/soc/codecs/wm_adsp.c dsp->wmfw_file_name, dsp 679 sound/soc/codecs/wm_adsp.c strlen(dsp->wmfw_file_name)); dsp 681 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 689 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = file->private_data; dsp 692 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 694 sound/soc/codecs/wm_adsp.c if (!dsp->bin_file_name || !dsp->booted) dsp 698 sound/soc/codecs/wm_adsp.c dsp->bin_file_name, dsp 699 sound/soc/codecs/wm_adsp.c strlen(dsp->bin_file_name)); dsp 701 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 725 sound/soc/codecs/wm_adsp.c static void wm_adsp2_init_debugfs(struct wm_adsp *dsp, dsp 731 sound/soc/codecs/wm_adsp.c root = debugfs_create_dir(dsp->name, component->debugfs_root); dsp 733 sound/soc/codecs/wm_adsp.c debugfs_create_bool("booted", 0444, root, &dsp->booted); dsp 734 sound/soc/codecs/wm_adsp.c debugfs_create_bool("running", 0444, root, &dsp->running); dsp 735 sound/soc/codecs/wm_adsp.c debugfs_create_x32("fw_id", 0444, root, &dsp->fw_id); dsp 736 sound/soc/codecs/wm_adsp.c debugfs_create_x32("fw_version", 0444, root, &dsp->fw_id_version); dsp 740 sound/soc/codecs/wm_adsp.c dsp, &wm_adsp_debugfs_fops[i].fops); dsp 742 sound/soc/codecs/wm_adsp.c dsp->debugfs_root = root; dsp 745 sound/soc/codecs/wm_adsp.c static void wm_adsp2_cleanup_debugfs(struct wm_adsp *dsp) dsp 747 sound/soc/codecs/wm_adsp.c wm_adsp_debugfs_clear(dsp); dsp 748 sound/soc/codecs/wm_adsp.c debugfs_remove_recursive(dsp->debugfs_root); dsp 751 sound/soc/codecs/wm_adsp.c static inline void wm_adsp2_init_debugfs(struct wm_adsp *dsp, dsp 756 sound/soc/codecs/wm_adsp.c static inline void wm_adsp2_cleanup_debugfs(struct wm_adsp *dsp) dsp 760 sound/soc/codecs/wm_adsp.c static inline void wm_adsp_debugfs_save_wmfwname(struct wm_adsp *dsp, dsp 765 sound/soc/codecs/wm_adsp.c static inline void wm_adsp_debugfs_save_binname(struct wm_adsp *dsp, dsp 770 sound/soc/codecs/wm_adsp.c static inline void wm_adsp_debugfs_clear(struct wm_adsp *dsp) dsp 780 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = snd_soc_component_get_drvdata(component); dsp 782 sound/soc/codecs/wm_adsp.c ucontrol->value.enumerated.item[0] = dsp[e->shift_l].fw; dsp 793 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = snd_soc_component_get_drvdata(component); dsp 796 sound/soc/codecs/wm_adsp.c if (ucontrol->value.enumerated.item[0] == dsp[e->shift_l].fw) dsp 802 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp[e->shift_l].pwr_lock); dsp 804 sound/soc/codecs/wm_adsp.c if (dsp[e->shift_l].booted || !list_empty(&dsp[e->shift_l].compr_list)) dsp 807 sound/soc/codecs/wm_adsp.c dsp[e->shift_l].fw = ucontrol->value.enumerated.item[0]; dsp 809 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp[e->shift_l].pwr_lock); dsp 826 sound/soc/codecs/wm_adsp.c static struct wm_adsp_region const *wm_adsp_find_region(struct wm_adsp *dsp, dsp 831 sound/soc/codecs/wm_adsp.c for (i = 0; i < dsp->num_mems; i++) dsp 832 sound/soc/codecs/wm_adsp.c if (dsp->mem[i].type == type) dsp 833 sound/soc/codecs/wm_adsp.c return &dsp->mem[i]; dsp 873 sound/soc/codecs/wm_adsp.c static void wm_adsp_read_fw_status(struct wm_adsp *dsp, dsp 880 sound/soc/codecs/wm_adsp.c ret = regmap_read(dsp->regmap, dsp->base + offs[i], &offs[i]); dsp 882 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to read SCRATCH%u: %d\n", i, ret); dsp 888 sound/soc/codecs/wm_adsp.c static void wm_adsp2_show_fw_status(struct wm_adsp *dsp) dsp 894 sound/soc/codecs/wm_adsp.c wm_adsp_read_fw_status(dsp, ARRAY_SIZE(offs), offs); dsp 896 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "FW SCRATCH 0:0x%x 1:0x%x 2:0x%x 3:0x%x\n", dsp 900 sound/soc/codecs/wm_adsp.c static void wm_adsp2v2_show_fw_status(struct wm_adsp *dsp) dsp 904 sound/soc/codecs/wm_adsp.c wm_adsp_read_fw_status(dsp, ARRAY_SIZE(offs), offs); dsp 906 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "FW SCRATCH 0:0x%x 1:0x%x 2:0x%x 3:0x%x\n", dsp 911 sound/soc/codecs/wm_adsp.c static void wm_halo_show_fw_status(struct wm_adsp *dsp) dsp 917 sound/soc/codecs/wm_adsp.c wm_adsp_read_fw_status(dsp, ARRAY_SIZE(offs), offs); dsp 919 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "FW SCRATCH 0:0x%x 1:0x%x 2:0x%x 3:0x%x\n", dsp 931 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = ctl->dsp; dsp 934 sound/soc/codecs/wm_adsp.c mem = wm_adsp_find_region(dsp, alg_region->type); dsp 936 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "No base for region %x\n", dsp 941 sound/soc/codecs/wm_adsp.c *reg = dsp->ops->region_to_reg(mem, ctl->alg_region.base + ctl->offset); dsp 973 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = ctl->dsp; dsp 982 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "Sending 0x%x to acked control alg 0x%x %s:0x%x\n", dsp 986 sound/soc/codecs/wm_adsp.c ret = regmap_raw_write(dsp->regmap, reg, &val, sizeof(val)); dsp 988 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to write %x: %d\n", reg, ret); dsp 1010 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(dsp->regmap, reg, &val, sizeof(val)); dsp 1012 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to read %x: %d\n", reg, ret); dsp 1017 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "Acked control ACKED at poll %u\n", i); dsp 1022 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Acked control @0x%x alg:0x%x %s:0x%x timed out\n", dsp 1033 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = ctl->dsp; dsp 1046 sound/soc/codecs/wm_adsp.c ret = regmap_raw_write(dsp->regmap, reg, scratch, dsp 1049 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to write %zu bytes to %x: %d\n", dsp 1054 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "Wrote %zu bytes to %x\n", len, reg); dsp 1070 sound/soc/codecs/wm_adsp.c mutex_lock(&ctl->dsp->pwr_lock); dsp 1078 sound/soc/codecs/wm_adsp.c if (ctl->enabled && ctl->dsp->running) dsp 1081 sound/soc/codecs/wm_adsp.c mutex_unlock(&ctl->dsp->pwr_lock); dsp 1094 sound/soc/codecs/wm_adsp.c mutex_lock(&ctl->dsp->pwr_lock); dsp 1100 sound/soc/codecs/wm_adsp.c if (ctl->enabled && ctl->dsp->running) dsp 1106 sound/soc/codecs/wm_adsp.c mutex_unlock(&ctl->dsp->pwr_lock); dsp 1123 sound/soc/codecs/wm_adsp.c mutex_lock(&ctl->dsp->pwr_lock); dsp 1125 sound/soc/codecs/wm_adsp.c if (ctl->enabled && ctl->dsp->running) dsp 1130 sound/soc/codecs/wm_adsp.c mutex_unlock(&ctl->dsp->pwr_lock); dsp 1138 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = ctl->dsp; dsp 1151 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(dsp->regmap, reg, scratch, len); dsp 1153 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to read %zu bytes from %x: %d\n", dsp 1158 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "Read %zu bytes from %x\n", len, reg); dsp 1175 sound/soc/codecs/wm_adsp.c mutex_lock(&ctl->dsp->pwr_lock); dsp 1178 sound/soc/codecs/wm_adsp.c if (ctl->enabled && ctl->dsp->running) dsp 1183 sound/soc/codecs/wm_adsp.c if (!ctl->flags && ctl->enabled && ctl->dsp->running) dsp 1189 sound/soc/codecs/wm_adsp.c mutex_unlock(&ctl->dsp->pwr_lock); dsp 1202 sound/soc/codecs/wm_adsp.c mutex_lock(&ctl->dsp->pwr_lock); dsp 1205 sound/soc/codecs/wm_adsp.c if (ctl->enabled && ctl->dsp->running) dsp 1210 sound/soc/codecs/wm_adsp.c if (!ctl->flags && ctl->enabled && ctl->dsp->running) dsp 1217 sound/soc/codecs/wm_adsp.c mutex_unlock(&ctl->dsp->pwr_lock); dsp 1238 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp; dsp 1274 sound/soc/codecs/wm_adsp.c static int wmfw_add_ctl(struct wm_adsp *dsp, struct wm_coeff_ctl *ctl) dsp 1310 sound/soc/codecs/wm_adsp.c ret = snd_soc_add_component_controls(dsp->component, kcontrol, 1); dsp 1323 sound/soc/codecs/wm_adsp.c static int wm_coeff_init_control_caches(struct wm_adsp *dsp) dsp 1328 sound/soc/codecs/wm_adsp.c list_for_each_entry(ctl, &dsp->ctl_list, list) { dsp 1349 sound/soc/codecs/wm_adsp.c static int wm_coeff_sync_controls(struct wm_adsp *dsp) dsp 1354 sound/soc/codecs/wm_adsp.c list_for_each_entry(ctl, &dsp->ctl_list, list) { dsp 1367 sound/soc/codecs/wm_adsp.c static void wm_adsp_signal_event_controls(struct wm_adsp *dsp, dsp 1373 sound/soc/codecs/wm_adsp.c list_for_each_entry(ctl, &dsp->ctl_list, list) { dsp 1382 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, dsp 1394 sound/soc/codecs/wm_adsp.c wmfw_add_ctl(ctl_work->dsp, ctl_work->ctl); dsp 1405 sound/soc/codecs/wm_adsp.c static int wm_adsp_create_control(struct wm_adsp *dsp, dsp 1419 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Unknown region type: %d\n", alg_region->type); dsp 1423 sound/soc/codecs/wm_adsp.c switch (dsp->fw_ver) { dsp 1427 sound/soc/codecs/wm_adsp.c dsp->name, region_name, alg_region->alg); dsp 1432 sound/soc/codecs/wm_adsp.c "%s%c %.12s %x", dsp->name, *region_name, dsp 1433 sound/soc/codecs/wm_adsp.c wm_adsp_fw_text[dsp->fw], alg_region->alg); dsp 1437 sound/soc/codecs/wm_adsp.c "%s %.12s %x", dsp->name, dsp 1438 sound/soc/codecs/wm_adsp.c wm_adsp_fw_text[dsp->fw], alg_region->alg); dsp 1446 sound/soc/codecs/wm_adsp.c if (dsp->component->name_prefix) dsp 1447 sound/soc/codecs/wm_adsp.c avail -= strlen(dsp->component->name_prefix) + 1; dsp 1457 sound/soc/codecs/wm_adsp.c list_for_each_entry(ctl, &dsp->ctl_list, list) { dsp 1468 sound/soc/codecs/wm_adsp.c ctl->fw_name = wm_adsp_fw_text[dsp->fw]; dsp 1479 sound/soc/codecs/wm_adsp.c ctl->dsp = dsp; dsp 1491 sound/soc/codecs/wm_adsp.c list_add(&ctl->list, &dsp->ctl_list); dsp 1502 sound/soc/codecs/wm_adsp.c ctl_work->dsp = dsp; dsp 1579 sound/soc/codecs/wm_adsp.c static inline void wm_coeff_parse_alg(struct wm_adsp *dsp, const u8 **data, dsp 1584 sound/soc/codecs/wm_adsp.c switch (dsp->fw_ver) { dsp 1604 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "Algorithm ID: %#x\n", blk->id); dsp 1605 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "Algorithm name: %.*s\n", blk->name_len, blk->name); dsp 1606 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "# of coefficient descriptors: %#x\n", blk->ncoeff); dsp 1609 sound/soc/codecs/wm_adsp.c static inline void wm_coeff_parse_coeff(struct wm_adsp *dsp, const u8 **data, dsp 1616 sound/soc/codecs/wm_adsp.c switch (dsp->fw_ver) { dsp 1647 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "\tCoefficient type: %#x\n", blk->mem_type); dsp 1648 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "\tCoefficient offset: %#x\n", blk->offset); dsp 1649 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "\tCoefficient name: %.*s\n", blk->name_len, blk->name); dsp 1650 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "\tCoefficient flags: %#x\n", blk->flags); dsp 1651 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "\tALSA control type: %#x\n", blk->ctl_type); dsp 1652 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "\tALSA control len: %#x\n", blk->len); dsp 1655 sound/soc/codecs/wm_adsp.c static int wm_adsp_check_coeff_flags(struct wm_adsp *dsp, dsp 1662 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Illegal flags 0x%x for control type 0x%x\n", dsp 1670 sound/soc/codecs/wm_adsp.c static int wm_adsp_parse_coeff(struct wm_adsp *dsp, dsp 1679 sound/soc/codecs/wm_adsp.c wm_coeff_parse_alg(dsp, &data, &alg_blk); dsp 1681 sound/soc/codecs/wm_adsp.c wm_coeff_parse_coeff(dsp, &data, &coeff_blk); dsp 1690 sound/soc/codecs/wm_adsp.c ret = wm_adsp_check_coeff_flags(dsp, &coeff_blk, dsp 1699 sound/soc/codecs/wm_adsp.c ret = wm_adsp_check_coeff_flags(dsp, &coeff_blk, dsp 1709 sound/soc/codecs/wm_adsp.c ret = wm_adsp_check_coeff_flags(dsp, &coeff_blk, dsp 1718 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Unknown control type: %d\n", dsp 1726 sound/soc/codecs/wm_adsp.c ret = wm_adsp_create_control(dsp, &alg_region, dsp 1734 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to create control: %.*s, %d\n", dsp 1741 sound/soc/codecs/wm_adsp.c static unsigned int wm_adsp1_parse_sizes(struct wm_adsp *dsp, dsp 1750 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "%s: %d DM, %d PM, %d ZM\n", file, dsp 1757 sound/soc/codecs/wm_adsp.c static unsigned int wm_adsp2_parse_sizes(struct wm_adsp *dsp, dsp 1766 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "%s: %d XM, %d YM %d PM, %d ZM\n", file, dsp 1773 sound/soc/codecs/wm_adsp.c static bool wm_adsp_validate_version(struct wm_adsp *dsp, unsigned int version) dsp 1777 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Deprecated file format %d\n", version); dsp 1787 sound/soc/codecs/wm_adsp.c static bool wm_halo_validate_version(struct wm_adsp *dsp, unsigned int version) dsp 1797 sound/soc/codecs/wm_adsp.c static int wm_adsp_load(struct wm_adsp *dsp) dsp 1801 sound/soc/codecs/wm_adsp.c struct regmap *regmap = dsp->regmap; dsp 1819 sound/soc/codecs/wm_adsp.c snprintf(file, PAGE_SIZE, "%s-%s-%s.wmfw", dsp->part, dsp->fwf_name, dsp 1820 sound/soc/codecs/wm_adsp.c wm_adsp_fw[dsp->fw].file); dsp 1823 sound/soc/codecs/wm_adsp.c ret = request_firmware(&firmware, file, dsp->dev); dsp 1825 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to request '%s'\n", file); dsp 1832 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: file too short, %zu bytes\n", dsp 1840 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: invalid magic\n", file); dsp 1844 sound/soc/codecs/wm_adsp.c if (!dsp->ops->validate_version(dsp, header->ver)) { dsp 1845 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: unknown file format %d\n", dsp 1850 sound/soc/codecs/wm_adsp.c adsp_info(dsp, "Firmware version: %d\n", header->ver); dsp 1851 sound/soc/codecs/wm_adsp.c dsp->fw_ver = header->ver; dsp 1853 sound/soc/codecs/wm_adsp.c if (header->core != dsp->type) { dsp 1854 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: invalid core %d != %d\n", dsp 1855 sound/soc/codecs/wm_adsp.c file, header->core, dsp->type); dsp 1860 sound/soc/codecs/wm_adsp.c pos = dsp->ops->parse_sizes(dsp, file, pos, firmware); dsp 1866 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: unexpected header length %d\n", dsp 1871 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "%s: timestamp %llu\n", file, dsp 1891 sound/soc/codecs/wm_adsp.c ret = wm_adsp_parse_coeff(dsp, region); dsp 1912 sound/soc/codecs/wm_adsp.c mem = wm_adsp_find_region(dsp, type); dsp 1914 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "No region of type: %x\n", type); dsp 1919 sound/soc/codecs/wm_adsp.c reg = dsp->ops->region_to_reg(mem, offset); dsp 1922 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, dsp 1928 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "%s.%d: %d bytes at %d in %s\n", file, dsp 1934 sound/soc/codecs/wm_adsp.c adsp_err(dsp, dsp 1944 sound/soc/codecs/wm_adsp.c adsp_info(dsp, "%s: %s\n", file, text); dsp 1954 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Out of memory\n"); dsp 1962 sound/soc/codecs/wm_adsp.c adsp_err(dsp, dsp 1977 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to complete async write: %d\n", ret); dsp 1982 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "%s.%d: %zu bytes at end of file\n", dsp 1985 sound/soc/codecs/wm_adsp.c wm_adsp_debugfs_save_wmfwname(dsp, file); dsp 1998 sound/soc/codecs/wm_adsp.c static void wm_adsp_ctl_fixup_base(struct wm_adsp *dsp, dsp 2003 sound/soc/codecs/wm_adsp.c list_for_each_entry(ctl, &dsp->ctl_list, list) { dsp 2004 sound/soc/codecs/wm_adsp.c if (ctl->fw_name == wm_adsp_fw_text[dsp->fw] && dsp 2012 sound/soc/codecs/wm_adsp.c static void *wm_adsp_read_algs(struct wm_adsp *dsp, size_t n_algs, dsp 2022 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "No algorithms\n"); dsp 2027 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Algorithm count %zx excessive\n", n_algs); dsp 2032 sound/soc/codecs/wm_adsp.c reg = dsp->ops->region_to_reg(mem, pos + len); dsp 2034 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(dsp->regmap, reg, &val, sizeof(val)); dsp 2036 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to read algorithm list end: %d\n", dsp 2042 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Algorithm list end %x 0x%x != 0xbedead\n", dsp 2052 sound/soc/codecs/wm_adsp.c reg = dsp->ops->region_to_reg(mem, pos); dsp 2054 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(dsp->regmap, reg, alg, len); dsp 2056 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to read algorithm list: %d\n", ret); dsp 2065 sound/soc/codecs/wm_adsp.c wm_adsp_find_alg_region(struct wm_adsp *dsp, int type, unsigned int id) dsp 2069 sound/soc/codecs/wm_adsp.c list_for_each_entry(alg_region, &dsp->alg_regions, list) { dsp 2077 sound/soc/codecs/wm_adsp.c static struct wm_adsp_alg_region *wm_adsp_create_region(struct wm_adsp *dsp, dsp 2091 sound/soc/codecs/wm_adsp.c list_add_tail(&alg_region->list, &dsp->alg_regions); dsp 2093 sound/soc/codecs/wm_adsp.c if (dsp->fw_ver > 0) dsp 2094 sound/soc/codecs/wm_adsp.c wm_adsp_ctl_fixup_base(dsp, alg_region); dsp 2099 sound/soc/codecs/wm_adsp.c static void wm_adsp_free_alg_regions(struct wm_adsp *dsp) dsp 2103 sound/soc/codecs/wm_adsp.c while (!list_empty(&dsp->alg_regions)) { dsp 2104 sound/soc/codecs/wm_adsp.c alg_region = list_first_entry(&dsp->alg_regions, dsp 2112 sound/soc/codecs/wm_adsp.c static void wmfw_parse_id_header(struct wm_adsp *dsp, dsp 2115 sound/soc/codecs/wm_adsp.c dsp->fw_id = be32_to_cpu(fw->id); dsp 2116 sound/soc/codecs/wm_adsp.c dsp->fw_id_version = be32_to_cpu(fw->ver); dsp 2118 sound/soc/codecs/wm_adsp.c adsp_info(dsp, "Firmware: %x v%d.%d.%d, %d algorithms\n", dsp 2119 sound/soc/codecs/wm_adsp.c dsp->fw_id, (dsp->fw_id_version & 0xff0000) >> 16, dsp 2120 sound/soc/codecs/wm_adsp.c (dsp->fw_id_version & 0xff00) >> 8, dsp->fw_id_version & 0xff, dsp 2124 sound/soc/codecs/wm_adsp.c static void wmfw_v3_parse_id_header(struct wm_adsp *dsp, dsp 2127 sound/soc/codecs/wm_adsp.c dsp->fw_id = be32_to_cpu(fw->id); dsp 2128 sound/soc/codecs/wm_adsp.c dsp->fw_id_version = be32_to_cpu(fw->ver); dsp 2129 sound/soc/codecs/wm_adsp.c dsp->fw_vendor_id = be32_to_cpu(fw->vendor_id); dsp 2131 sound/soc/codecs/wm_adsp.c adsp_info(dsp, "Firmware: %x vendor: 0x%x v%d.%d.%d, %d algorithms\n", dsp 2132 sound/soc/codecs/wm_adsp.c dsp->fw_id, dsp->fw_vendor_id, dsp 2133 sound/soc/codecs/wm_adsp.c (dsp->fw_id_version & 0xff0000) >> 16, dsp 2134 sound/soc/codecs/wm_adsp.c (dsp->fw_id_version & 0xff00) >> 8, dsp->fw_id_version & 0xff, dsp 2138 sound/soc/codecs/wm_adsp.c static int wm_adsp_create_regions(struct wm_adsp *dsp, __be32 id, int nregions, dsp 2145 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, type[i], id, base[i]); dsp 2153 sound/soc/codecs/wm_adsp.c static int wm_adsp1_setup_algs(struct wm_adsp *dsp) dsp 2163 sound/soc/codecs/wm_adsp.c mem = wm_adsp_find_region(dsp, WMFW_ADSP1_DM); dsp 2167 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(dsp->regmap, mem->base, &adsp1_id, dsp 2170 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to read algorithm info: %d\n", dsp 2177 sound/soc/codecs/wm_adsp.c wmfw_parse_id_header(dsp, &adsp1_id.fw, n_algs); dsp 2179 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP1_ZM, dsp 2184 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP1_DM, dsp 2193 sound/soc/codecs/wm_adsp.c adsp1_alg = wm_adsp_read_algs(dsp, n_algs, mem, pos, len); dsp 2198 sound/soc/codecs/wm_adsp.c adsp_info(dsp, "%d: ID %x v%d.%d.%d DM@%x ZM@%x\n", dsp 2206 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP1_DM, dsp 2213 sound/soc/codecs/wm_adsp.c if (dsp->fw_ver == 0) { dsp 2218 sound/soc/codecs/wm_adsp.c wm_adsp_create_control(dsp, alg_region, 0, dsp 2222 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Missing length info for region DM with ID %x\n", dsp 2227 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP1_ZM, dsp 2234 sound/soc/codecs/wm_adsp.c if (dsp->fw_ver == 0) { dsp 2239 sound/soc/codecs/wm_adsp.c wm_adsp_create_control(dsp, alg_region, 0, dsp 2243 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Missing length info for region ZM with ID %x\n", dsp 2254 sound/soc/codecs/wm_adsp.c static int wm_adsp2_setup_algs(struct wm_adsp *dsp) dsp 2264 sound/soc/codecs/wm_adsp.c mem = wm_adsp_find_region(dsp, WMFW_ADSP2_XM); dsp 2268 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(dsp->regmap, mem->base, &adsp2_id, dsp 2271 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to read algorithm info: %d\n", dsp 2278 sound/soc/codecs/wm_adsp.c wmfw_parse_id_header(dsp, &adsp2_id.fw, n_algs); dsp 2280 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP2_XM, dsp 2285 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP2_YM, dsp 2290 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP2_ZM, dsp 2299 sound/soc/codecs/wm_adsp.c adsp2_alg = wm_adsp_read_algs(dsp, n_algs, mem, pos, len); dsp 2304 sound/soc/codecs/wm_adsp.c adsp_info(dsp, dsp 2314 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP2_XM, dsp 2321 sound/soc/codecs/wm_adsp.c if (dsp->fw_ver == 0) { dsp 2326 sound/soc/codecs/wm_adsp.c wm_adsp_create_control(dsp, alg_region, 0, dsp 2330 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Missing length info for region XM with ID %x\n", dsp 2335 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP2_YM, dsp 2342 sound/soc/codecs/wm_adsp.c if (dsp->fw_ver == 0) { dsp 2347 sound/soc/codecs/wm_adsp.c wm_adsp_create_control(dsp, alg_region, 0, dsp 2351 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Missing length info for region YM with ID %x\n", dsp 2356 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_create_region(dsp, WMFW_ADSP2_ZM, dsp 2363 sound/soc/codecs/wm_adsp.c if (dsp->fw_ver == 0) { dsp 2368 sound/soc/codecs/wm_adsp.c wm_adsp_create_control(dsp, alg_region, 0, dsp 2372 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Missing length info for region ZM with ID %x\n", dsp 2383 sound/soc/codecs/wm_adsp.c static int wm_halo_create_regions(struct wm_adsp *dsp, __be32 id, dsp 2392 sound/soc/codecs/wm_adsp.c return wm_adsp_create_regions(dsp, id, ARRAY_SIZE(types), types, bases); dsp 2395 sound/soc/codecs/wm_adsp.c static int wm_halo_setup_algs(struct wm_adsp *dsp) dsp 2404 sound/soc/codecs/wm_adsp.c mem = wm_adsp_find_region(dsp, WMFW_ADSP2_XM); dsp 2408 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(dsp->regmap, mem->base, &halo_id, dsp 2411 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to read algorithm info: %d\n", dsp 2418 sound/soc/codecs/wm_adsp.c wmfw_v3_parse_id_header(dsp, &halo_id.fw, n_algs); dsp 2420 sound/soc/codecs/wm_adsp.c ret = wm_halo_create_regions(dsp, halo_id.fw.id, dsp 2429 sound/soc/codecs/wm_adsp.c halo_alg = wm_adsp_read_algs(dsp, n_algs, mem, pos, len); dsp 2434 sound/soc/codecs/wm_adsp.c adsp_info(dsp, dsp 2443 sound/soc/codecs/wm_adsp.c ret = wm_halo_create_regions(dsp, halo_alg[i].alg.id, dsp 2455 sound/soc/codecs/wm_adsp.c static int wm_adsp_load_coeff(struct wm_adsp *dsp) dsp 2458 sound/soc/codecs/wm_adsp.c struct regmap *regmap = dsp->regmap; dsp 2473 sound/soc/codecs/wm_adsp.c snprintf(file, PAGE_SIZE, "%s-%s-%s.bin", dsp->part, dsp->fwf_name, dsp 2474 sound/soc/codecs/wm_adsp.c wm_adsp_fw[dsp->fw].file); dsp 2477 sound/soc/codecs/wm_adsp.c ret = request_firmware(&firmware, file, dsp->dev); dsp 2479 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Failed to request '%s'\n", file); dsp 2486 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: file too short, %zu bytes\n", dsp 2493 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: invalid magic\n", file); dsp 2501 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: Unsupported coefficient file format %d\n", dsp 2507 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "%s: v%d.%d.%d\n", file, dsp 2522 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "%s.%d: %x v%d.%d.%d\n", dsp 2527 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "%s.%d: %d bytes at 0x%x in %x\n", dsp 2541 sound/soc/codecs/wm_adsp.c if (le32_to_cpu(blk->id) == dsp->fw_id && dsp 2544 sound/soc/codecs/wm_adsp.c mem = wm_adsp_find_region(dsp, type); dsp 2546 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "No ZM\n"); dsp 2549 sound/soc/codecs/wm_adsp.c reg = dsp->ops->region_to_reg(mem, 0); dsp 2564 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "%s.%d: %d bytes in %x for %x\n", dsp 2568 sound/soc/codecs/wm_adsp.c mem = wm_adsp_find_region(dsp, type); dsp 2570 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "No base for region %x\n", type); dsp 2574 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_find_alg_region(dsp, type, dsp 2578 sound/soc/codecs/wm_adsp.c reg = dsp->ops->region_to_reg(mem, reg); dsp 2581 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "No %x for algorithm %x\n", dsp 2587 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s.%d: Unknown region type %x at %d\n", dsp 2595 sound/soc/codecs/wm_adsp.c adsp_err(dsp, dsp 2608 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Out of memory\n"); dsp 2613 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "%s.%d: Writing %d bytes at %x\n", dsp 2619 sound/soc/codecs/wm_adsp.c adsp_err(dsp, dsp 2631 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to complete async write: %d\n", ret); dsp 2634 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "%s.%d: %zu bytes at end of file\n", dsp 2637 sound/soc/codecs/wm_adsp.c wm_adsp_debugfs_save_binname(dsp, file); dsp 2648 sound/soc/codecs/wm_adsp.c static int wm_adsp_create_name(struct wm_adsp *dsp) dsp 2652 sound/soc/codecs/wm_adsp.c if (!dsp->name) { dsp 2653 sound/soc/codecs/wm_adsp.c dsp->name = devm_kasprintf(dsp->dev, GFP_KERNEL, "DSP%d", dsp 2654 sound/soc/codecs/wm_adsp.c dsp->num); dsp 2655 sound/soc/codecs/wm_adsp.c if (!dsp->name) dsp 2659 sound/soc/codecs/wm_adsp.c if (!dsp->fwf_name) { dsp 2660 sound/soc/codecs/wm_adsp.c p = devm_kstrdup(dsp->dev, dsp->name, GFP_KERNEL); dsp 2664 sound/soc/codecs/wm_adsp.c dsp->fwf_name = p; dsp 2672 sound/soc/codecs/wm_adsp.c static int wm_adsp_common_init(struct wm_adsp *dsp) dsp 2676 sound/soc/codecs/wm_adsp.c ret = wm_adsp_create_name(dsp); dsp 2680 sound/soc/codecs/wm_adsp.c INIT_LIST_HEAD(&dsp->alg_regions); dsp 2681 sound/soc/codecs/wm_adsp.c INIT_LIST_HEAD(&dsp->ctl_list); dsp 2682 sound/soc/codecs/wm_adsp.c INIT_LIST_HEAD(&dsp->compr_list); dsp 2683 sound/soc/codecs/wm_adsp.c INIT_LIST_HEAD(&dsp->buffer_list); dsp 2685 sound/soc/codecs/wm_adsp.c mutex_init(&dsp->pwr_lock); dsp 2690 sound/soc/codecs/wm_adsp.c int wm_adsp1_init(struct wm_adsp *dsp) dsp 2692 sound/soc/codecs/wm_adsp.c dsp->ops = &wm_adsp1_ops; dsp 2694 sound/soc/codecs/wm_adsp.c return wm_adsp_common_init(dsp); dsp 2704 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = &dsps[w->shift]; dsp 2709 sound/soc/codecs/wm_adsp.c dsp->component = component; dsp 2711 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 2715 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP1_CONTROL_30, dsp 2722 sound/soc/codecs/wm_adsp.c if (dsp->sysclk_reg) { dsp 2723 sound/soc/codecs/wm_adsp.c ret = regmap_read(dsp->regmap, dsp->sysclk_reg, &val); dsp 2725 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to read SYSCLK state: %d\n", dsp 2730 sound/soc/codecs/wm_adsp.c val = (val & dsp->sysclk_mask) >> dsp->sysclk_shift; dsp 2732 sound/soc/codecs/wm_adsp.c ret = regmap_update_bits(dsp->regmap, dsp 2733 sound/soc/codecs/wm_adsp.c dsp->base + ADSP1_CONTROL_31, dsp 2736 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to set clock rate: %d\n", dsp 2742 sound/soc/codecs/wm_adsp.c ret = wm_adsp_load(dsp); dsp 2746 sound/soc/codecs/wm_adsp.c ret = wm_adsp1_setup_algs(dsp); dsp 2750 sound/soc/codecs/wm_adsp.c ret = wm_adsp_load_coeff(dsp); dsp 2755 sound/soc/codecs/wm_adsp.c ret = wm_coeff_init_control_caches(dsp); dsp 2760 sound/soc/codecs/wm_adsp.c ret = wm_coeff_sync_controls(dsp); dsp 2764 sound/soc/codecs/wm_adsp.c dsp->booted = true; dsp 2767 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP1_CONTROL_30, dsp 2771 sound/soc/codecs/wm_adsp.c dsp->running = true; dsp 2775 sound/soc/codecs/wm_adsp.c dsp->running = false; dsp 2776 sound/soc/codecs/wm_adsp.c dsp->booted = false; dsp 2779 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP1_CONTROL_30, dsp 2782 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP1_CONTROL_19, dsp 2785 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP1_CONTROL_30, dsp 2788 sound/soc/codecs/wm_adsp.c list_for_each_entry(ctl, &dsp->ctl_list, list) dsp 2792 sound/soc/codecs/wm_adsp.c wm_adsp_free_alg_regions(dsp); dsp 2799 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 2804 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP1_CONTROL_30, dsp 2807 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 2813 sound/soc/codecs/wm_adsp.c static int wm_adsp2v2_enable_core(struct wm_adsp *dsp) dsp 2820 sound/soc/codecs/wm_adsp.c ret = regmap_read(dsp->regmap, dsp->base + ADSP2_STATUS1, &val); dsp 2831 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to start DSP RAM\n"); dsp 2835 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "RAM ready after %d polls\n", count); dsp 2840 sound/soc/codecs/wm_adsp.c static int wm_adsp2_enable_core(struct wm_adsp *dsp) dsp 2844 sound/soc/codecs/wm_adsp.c ret = regmap_update_bits_async(dsp->regmap, dsp->base + ADSP2_CONTROL, dsp 2849 sound/soc/codecs/wm_adsp.c return wm_adsp2v2_enable_core(dsp); dsp 2852 sound/soc/codecs/wm_adsp.c static int wm_adsp2_lock(struct wm_adsp *dsp, unsigned int lock_regions) dsp 2854 sound/soc/codecs/wm_adsp.c struct regmap *regmap = dsp->regmap; dsp 2861 sound/soc/codecs/wm_adsp.c lock_reg = dsp->base + ADSP2_LOCK_REGION_1_LOCK_REGION_0; dsp 2882 sound/soc/codecs/wm_adsp.c static int wm_adsp2_enable_memory(struct wm_adsp *dsp) dsp 2884 sound/soc/codecs/wm_adsp.c return regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL, dsp 2888 sound/soc/codecs/wm_adsp.c static void wm_adsp2_disable_memory(struct wm_adsp *dsp) dsp 2890 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL, dsp 2894 sound/soc/codecs/wm_adsp.c static void wm_adsp2_disable_core(struct wm_adsp *dsp) dsp 2896 sound/soc/codecs/wm_adsp.c regmap_write(dsp->regmap, dsp->base + ADSP2_RDMA_CONFIG_1, 0); dsp 2897 sound/soc/codecs/wm_adsp.c regmap_write(dsp->regmap, dsp->base + ADSP2_WDMA_CONFIG_1, 0); dsp 2898 sound/soc/codecs/wm_adsp.c regmap_write(dsp->regmap, dsp->base + ADSP2_WDMA_CONFIG_2, 0); dsp 2900 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL, dsp 2904 sound/soc/codecs/wm_adsp.c static void wm_adsp2v2_disable_core(struct wm_adsp *dsp) dsp 2906 sound/soc/codecs/wm_adsp.c regmap_write(dsp->regmap, dsp->base + ADSP2_RDMA_CONFIG_1, 0); dsp 2907 sound/soc/codecs/wm_adsp.c regmap_write(dsp->regmap, dsp->base + ADSP2_WDMA_CONFIG_1, 0); dsp 2908 sound/soc/codecs/wm_adsp.c regmap_write(dsp->regmap, dsp->base + ADSP2V2_WDMA_CONFIG_2, 0); dsp 2913 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = container_of(work, dsp 2918 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 2920 sound/soc/codecs/wm_adsp.c if (dsp->ops->enable_memory) { dsp 2921 sound/soc/codecs/wm_adsp.c ret = dsp->ops->enable_memory(dsp); dsp 2926 sound/soc/codecs/wm_adsp.c if (dsp->ops->enable_core) { dsp 2927 sound/soc/codecs/wm_adsp.c ret = dsp->ops->enable_core(dsp); dsp 2932 sound/soc/codecs/wm_adsp.c ret = wm_adsp_load(dsp); dsp 2936 sound/soc/codecs/wm_adsp.c ret = dsp->ops->setup_algs(dsp); dsp 2940 sound/soc/codecs/wm_adsp.c ret = wm_adsp_load_coeff(dsp); dsp 2945 sound/soc/codecs/wm_adsp.c ret = wm_coeff_init_control_caches(dsp); dsp 2949 sound/soc/codecs/wm_adsp.c if (dsp->ops->disable_core) dsp 2950 sound/soc/codecs/wm_adsp.c dsp->ops->disable_core(dsp); dsp 2952 sound/soc/codecs/wm_adsp.c dsp->booted = true; dsp 2954 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 2959 sound/soc/codecs/wm_adsp.c if (dsp->ops->disable_core) dsp 2960 sound/soc/codecs/wm_adsp.c dsp->ops->disable_core(dsp); dsp 2962 sound/soc/codecs/wm_adsp.c if (dsp->ops->disable_memory) dsp 2963 sound/soc/codecs/wm_adsp.c dsp->ops->disable_memory(dsp); dsp 2965 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 2968 sound/soc/codecs/wm_adsp.c static int wm_halo_configure_mpu(struct wm_adsp *dsp, unsigned int lock_regions) dsp 2971 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_LOCK_CONFIG, 0x5555 }, dsp 2972 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_LOCK_CONFIG, 0xAAAA }, dsp 2973 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_XMEM_ACCESS_0, 0xFFFFFFFF }, dsp 2974 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_YMEM_ACCESS_0, 0xFFFFFFFF }, dsp 2975 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_WINDOW_ACCESS_0, lock_regions }, dsp 2976 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_XREG_ACCESS_0, lock_regions }, dsp 2977 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_YREG_ACCESS_0, lock_regions }, dsp 2978 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_XMEM_ACCESS_1, 0xFFFFFFFF }, dsp 2979 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_YMEM_ACCESS_1, 0xFFFFFFFF }, dsp 2980 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_WINDOW_ACCESS_1, lock_regions }, dsp 2981 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_XREG_ACCESS_1, lock_regions }, dsp 2982 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_YREG_ACCESS_1, lock_regions }, dsp 2983 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_XMEM_ACCESS_2, 0xFFFFFFFF }, dsp 2984 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_YMEM_ACCESS_2, 0xFFFFFFFF }, dsp 2985 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_WINDOW_ACCESS_2, lock_regions }, dsp 2986 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_XREG_ACCESS_2, lock_regions }, dsp 2987 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_YREG_ACCESS_2, lock_regions }, dsp 2988 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_XMEM_ACCESS_3, 0xFFFFFFFF }, dsp 2989 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_YMEM_ACCESS_3, 0xFFFFFFFF }, dsp 2990 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_WINDOW_ACCESS_3, lock_regions }, dsp 2991 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_XREG_ACCESS_3, lock_regions }, dsp 2992 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_YREG_ACCESS_3, lock_regions }, dsp 2993 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_LOCK_CONFIG, 0 }, dsp 2996 sound/soc/codecs/wm_adsp.c return regmap_multi_reg_write(dsp->regmap, config, ARRAY_SIZE(config)); dsp 3003 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = &dsps[w->shift]; dsp 3006 sound/soc/codecs/wm_adsp.c ret = regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CLOCKING, dsp 3010 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to set clock rate: %d\n", ret); dsp 3023 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = &dsps[mc->shift - 1]; dsp 3025 sound/soc/codecs/wm_adsp.c ucontrol->value.integer.value[0] = dsp->preloaded; dsp 3039 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = &dsps[mc->shift - 1]; dsp 3042 sound/soc/codecs/wm_adsp.c snprintf(preload, ARRAY_SIZE(preload), "%s Preload", dsp->name); dsp 3044 sound/soc/codecs/wm_adsp.c dsp->preloaded = ucontrol->value.integer.value[0]; dsp 3053 sound/soc/codecs/wm_adsp.c flush_work(&dsp->boot_work); dsp 3059 sound/soc/codecs/wm_adsp.c static void wm_adsp_stop_watchdog(struct wm_adsp *dsp) dsp 3061 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP2_WATCHDOG, dsp 3065 sound/soc/codecs/wm_adsp.c static void wm_halo_stop_watchdog(struct wm_adsp *dsp) dsp 3067 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + HALO_WDT_CONTROL, dsp 3076 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = &dsps[w->shift]; dsp 3081 sound/soc/codecs/wm_adsp.c queue_work(system_unbound_wq, &dsp->boot_work); dsp 3084 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 3086 sound/soc/codecs/wm_adsp.c wm_adsp_debugfs_clear(dsp); dsp 3088 sound/soc/codecs/wm_adsp.c dsp->fw_id = 0; dsp 3089 sound/soc/codecs/wm_adsp.c dsp->fw_id_version = 0; dsp 3091 sound/soc/codecs/wm_adsp.c dsp->booted = false; dsp 3093 sound/soc/codecs/wm_adsp.c if (dsp->ops->disable_memory) dsp 3094 sound/soc/codecs/wm_adsp.c dsp->ops->disable_memory(dsp); dsp 3096 sound/soc/codecs/wm_adsp.c list_for_each_entry(ctl, &dsp->ctl_list, list) dsp 3099 sound/soc/codecs/wm_adsp.c wm_adsp_free_alg_regions(dsp); dsp 3101 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 3103 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "Shutdown complete\n"); dsp 3113 sound/soc/codecs/wm_adsp.c static int wm_adsp2_start_core(struct wm_adsp *dsp) dsp 3115 sound/soc/codecs/wm_adsp.c return regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL, dsp 3120 sound/soc/codecs/wm_adsp.c static void wm_adsp2_stop_core(struct wm_adsp *dsp) dsp 3122 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL, dsp 3131 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = &dsps[w->shift]; dsp 3136 sound/soc/codecs/wm_adsp.c flush_work(&dsp->boot_work); dsp 3138 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 3140 sound/soc/codecs/wm_adsp.c if (!dsp->booted) { dsp 3145 sound/soc/codecs/wm_adsp.c if (dsp->ops->enable_core) { dsp 3146 sound/soc/codecs/wm_adsp.c ret = dsp->ops->enable_core(dsp); dsp 3152 sound/soc/codecs/wm_adsp.c ret = wm_coeff_sync_controls(dsp); dsp 3156 sound/soc/codecs/wm_adsp.c if (dsp->ops->lock_memory) { dsp 3157 sound/soc/codecs/wm_adsp.c ret = dsp->ops->lock_memory(dsp, dsp->lock_regions); dsp 3159 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Error configuring MPU: %d\n", dsp 3165 sound/soc/codecs/wm_adsp.c if (dsp->ops->start_core) { dsp 3166 sound/soc/codecs/wm_adsp.c ret = dsp->ops->start_core(dsp); dsp 3171 sound/soc/codecs/wm_adsp.c if (wm_adsp_fw[dsp->fw].num_caps != 0) { dsp 3172 sound/soc/codecs/wm_adsp.c ret = wm_adsp_buffer_init(dsp); dsp 3177 sound/soc/codecs/wm_adsp.c dsp->running = true; dsp 3179 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 3184 sound/soc/codecs/wm_adsp.c wm_adsp_signal_event_controls(dsp, WM_ADSP_FW_EVENT_SHUTDOWN); dsp 3186 sound/soc/codecs/wm_adsp.c if (dsp->ops->stop_watchdog) dsp 3187 sound/soc/codecs/wm_adsp.c dsp->ops->stop_watchdog(dsp); dsp 3190 sound/soc/codecs/wm_adsp.c if (dsp->ops->show_fw_status) dsp 3191 sound/soc/codecs/wm_adsp.c dsp->ops->show_fw_status(dsp); dsp 3193 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 3195 sound/soc/codecs/wm_adsp.c dsp->running = false; dsp 3197 sound/soc/codecs/wm_adsp.c if (dsp->ops->stop_core) dsp 3198 sound/soc/codecs/wm_adsp.c dsp->ops->stop_core(dsp); dsp 3199 sound/soc/codecs/wm_adsp.c if (dsp->ops->disable_core) dsp 3200 sound/soc/codecs/wm_adsp.c dsp->ops->disable_core(dsp); dsp 3202 sound/soc/codecs/wm_adsp.c if (wm_adsp_fw[dsp->fw].num_caps != 0) dsp 3203 sound/soc/codecs/wm_adsp.c wm_adsp_buffer_free(dsp); dsp 3205 sound/soc/codecs/wm_adsp.c dsp->fatal_error = false; dsp 3207 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 3209 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "Execution stopped\n"); dsp 3218 sound/soc/codecs/wm_adsp.c if (dsp->ops->stop_core) dsp 3219 sound/soc/codecs/wm_adsp.c dsp->ops->stop_core(dsp); dsp 3220 sound/soc/codecs/wm_adsp.c if (dsp->ops->disable_core) dsp 3221 sound/soc/codecs/wm_adsp.c dsp->ops->disable_core(dsp); dsp 3222 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 3227 sound/soc/codecs/wm_adsp.c static int wm_halo_start_core(struct wm_adsp *dsp) dsp 3229 sound/soc/codecs/wm_adsp.c return regmap_update_bits(dsp->regmap, dsp 3230 sound/soc/codecs/wm_adsp.c dsp->base + HALO_CCM_CORE_CONTROL, dsp 3234 sound/soc/codecs/wm_adsp.c static void wm_halo_stop_core(struct wm_adsp *dsp) dsp 3236 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + HALO_CCM_CORE_CONTROL, dsp 3240 sound/soc/codecs/wm_adsp.c regmap_update_bits(dsp->regmap, dsp->base + HALO_CORE_SOFT_RESET, dsp 3244 sound/soc/codecs/wm_adsp.c int wm_adsp2_component_probe(struct wm_adsp *dsp, struct snd_soc_component *component) dsp 3248 sound/soc/codecs/wm_adsp.c snprintf(preload, ARRAY_SIZE(preload), "%s Preload", dsp->name); dsp 3251 sound/soc/codecs/wm_adsp.c wm_adsp2_init_debugfs(dsp, component); dsp 3253 sound/soc/codecs/wm_adsp.c dsp->component = component; dsp 3259 sound/soc/codecs/wm_adsp.c int wm_adsp2_component_remove(struct wm_adsp *dsp, struct snd_soc_component *component) dsp 3261 sound/soc/codecs/wm_adsp.c wm_adsp2_cleanup_debugfs(dsp); dsp 3267 sound/soc/codecs/wm_adsp.c int wm_adsp2_init(struct wm_adsp *dsp) dsp 3271 sound/soc/codecs/wm_adsp.c ret = wm_adsp_common_init(dsp); dsp 3275 sound/soc/codecs/wm_adsp.c switch (dsp->rev) { dsp 3281 sound/soc/codecs/wm_adsp.c ret = regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL, dsp 3284 sound/soc/codecs/wm_adsp.c adsp_err(dsp, dsp 3289 sound/soc/codecs/wm_adsp.c dsp->ops = &wm_adsp2_ops[0]; dsp 3292 sound/soc/codecs/wm_adsp.c dsp->ops = &wm_adsp2_ops[1]; dsp 3295 sound/soc/codecs/wm_adsp.c dsp->ops = &wm_adsp2_ops[2]; dsp 3299 sound/soc/codecs/wm_adsp.c INIT_WORK(&dsp->boot_work, wm_adsp_boot_work); dsp 3305 sound/soc/codecs/wm_adsp.c int wm_halo_init(struct wm_adsp *dsp) dsp 3309 sound/soc/codecs/wm_adsp.c ret = wm_adsp_common_init(dsp); dsp 3313 sound/soc/codecs/wm_adsp.c dsp->ops = &wm_halo_ops; dsp 3315 sound/soc/codecs/wm_adsp.c INIT_WORK(&dsp->boot_work, wm_adsp_boot_work); dsp 3321 sound/soc/codecs/wm_adsp.c void wm_adsp2_remove(struct wm_adsp *dsp) dsp 3325 sound/soc/codecs/wm_adsp.c while (!list_empty(&dsp->ctl_list)) { dsp 3326 sound/soc/codecs/wm_adsp.c ctl = list_first_entry(&dsp->ctl_list, struct wm_coeff_ctl, dsp 3343 sound/soc/codecs/wm_adsp.c if (compr->dsp->fatal_error) dsp 3346 sound/soc/codecs/wm_adsp.c list_for_each_entry(tmp, &compr->dsp->buffer_list, list) { dsp 3377 sound/soc/codecs/wm_adsp.c int wm_adsp_compr_open(struct wm_adsp *dsp, struct snd_compr_stream *stream) dsp 3383 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 3385 sound/soc/codecs/wm_adsp.c if (wm_adsp_fw[dsp->fw].num_caps == 0) { dsp 3386 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: Firmware does not support compressed API\n", dsp 3392 sound/soc/codecs/wm_adsp.c if (wm_adsp_fw[dsp->fw].compr_direction != stream->direction) { dsp 3393 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: Firmware does not support stream direction\n", dsp 3399 sound/soc/codecs/wm_adsp.c list_for_each_entry(tmp, &dsp->compr_list, list) { dsp 3401 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "%s: Only a single stream supported per dai\n", dsp 3414 sound/soc/codecs/wm_adsp.c compr->dsp = dsp; dsp 3418 sound/soc/codecs/wm_adsp.c list_add_tail(&compr->list, &dsp->compr_list); dsp 3423 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 3432 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = compr->dsp; dsp 3434 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 3442 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 3452 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = compr->dsp; dsp 3469 sound/soc/codecs/wm_adsp.c for (i = 0; i < wm_adsp_fw[dsp->fw].num_caps; i++) { dsp 3470 sound/soc/codecs/wm_adsp.c caps = &wm_adsp_fw[dsp->fw].caps[i]; dsp 3534 sound/soc/codecs/wm_adsp.c int fw = compr->dsp->fw; dsp 3554 sound/soc/codecs/wm_adsp.c static int wm_adsp_read_data_block(struct wm_adsp *dsp, int mem_type, dsp 3558 sound/soc/codecs/wm_adsp.c struct wm_adsp_region const *mem = wm_adsp_find_region(dsp, mem_type); dsp 3565 sound/soc/codecs/wm_adsp.c reg = dsp->ops->region_to_reg(mem, mem_addr); dsp 3567 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(dsp->regmap, reg, data, dsp 3578 sound/soc/codecs/wm_adsp.c static inline int wm_adsp_read_data_word(struct wm_adsp *dsp, int mem_type, dsp 3581 sound/soc/codecs/wm_adsp.c return wm_adsp_read_data_block(dsp, mem_type, mem_addr, 1, data); dsp 3584 sound/soc/codecs/wm_adsp.c static int wm_adsp_write_data_word(struct wm_adsp *dsp, int mem_type, dsp 3587 sound/soc/codecs/wm_adsp.c struct wm_adsp_region const *mem = wm_adsp_find_region(dsp, mem_type); dsp 3593 sound/soc/codecs/wm_adsp.c reg = dsp->ops->region_to_reg(mem, mem_addr); dsp 3597 sound/soc/codecs/wm_adsp.c return regmap_raw_write(dsp->regmap, reg, &data, sizeof(data)); dsp 3603 sound/soc/codecs/wm_adsp.c return wm_adsp_read_data_word(buf->dsp, buf->host_buf_mem_type, dsp 3610 sound/soc/codecs/wm_adsp.c return wm_adsp_write_data_word(buf->dsp, buf->host_buf_mem_type, dsp 3631 sound/soc/codecs/wm_adsp.c const struct wm_adsp_fw_caps *caps = wm_adsp_fw[buf->dsp->fw].caps; dsp 3675 sound/soc/codecs/wm_adsp.c static struct wm_adsp_compr_buf *wm_adsp_buffer_alloc(struct wm_adsp *dsp) dsp 3683 sound/soc/codecs/wm_adsp.c buf->dsp = dsp; dsp 3687 sound/soc/codecs/wm_adsp.c list_add_tail(&buf->list, &dsp->buffer_list); dsp 3692 sound/soc/codecs/wm_adsp.c static int wm_adsp_buffer_parse_legacy(struct wm_adsp *dsp) dsp 3699 sound/soc/codecs/wm_adsp.c alg_region = wm_adsp_find_alg_region(dsp, WMFW_ADSP2_XM, dsp->fw_id); dsp 3701 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "No algorithm region found\n"); dsp 3705 sound/soc/codecs/wm_adsp.c buf = wm_adsp_buffer_alloc(dsp); dsp 3709 sound/soc/codecs/wm_adsp.c xmalg = dsp->ops->sys_config_size / sizeof(__be32); dsp 3712 sound/soc/codecs/wm_adsp.c ret = wm_adsp_read_data_word(dsp, WMFW_ADSP2_XM, addr, &magic); dsp 3721 sound/soc/codecs/wm_adsp.c ret = wm_adsp_read_data_word(dsp, WMFW_ADSP2_XM, addr, dsp 3758 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(ctl->dsp->regmap, reg, &val, sizeof(val)); dsp 3769 sound/soc/codecs/wm_adsp.c adsp_err(ctl->dsp, "Failed to acquire host buffer\n"); dsp 3773 sound/soc/codecs/wm_adsp.c buf = wm_adsp_buffer_alloc(ctl->dsp); dsp 3793 sound/soc/codecs/wm_adsp.c ret = regmap_raw_read(ctl->dsp->regmap, reg, &coeff_v1, dsp 3803 sound/soc/codecs/wm_adsp.c adsp_err(ctl->dsp, dsp 3816 sound/soc/codecs/wm_adsp.c buf->name = kasprintf(GFP_KERNEL, "%s-dsp-%s", ctl->dsp->part, dsp 3825 sound/soc/codecs/wm_adsp.c static int wm_adsp_buffer_init(struct wm_adsp *dsp) dsp 3830 sound/soc/codecs/wm_adsp.c list_for_each_entry(ctl, &dsp->ctl_list, list) { dsp 3839 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to parse coeff: %d\n", ret); dsp 3847 sound/soc/codecs/wm_adsp.c if (list_empty(&dsp->buffer_list)) { dsp 3849 sound/soc/codecs/wm_adsp.c ret = wm_adsp_buffer_parse_legacy(dsp); dsp 3851 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "Failed to parse legacy: %d\n", ret); dsp 3859 sound/soc/codecs/wm_adsp.c wm_adsp_buffer_free(dsp); dsp 3863 sound/soc/codecs/wm_adsp.c static int wm_adsp_buffer_free(struct wm_adsp *dsp) dsp 3867 sound/soc/codecs/wm_adsp.c list_for_each_entry_safe(buf, tmp, &dsp->buffer_list, list) { dsp 3899 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = compr->dsp; dsp 3904 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 3940 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 3948 sound/soc/codecs/wm_adsp.c int last_region = wm_adsp_fw[buf->dsp->fw].caps->num_regions - 1; dsp 3996 sound/soc/codecs/wm_adsp.c int wm_adsp_compr_handle_irq(struct wm_adsp *dsp) dsp 4002 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 4004 sound/soc/codecs/wm_adsp.c if (list_empty(&dsp->buffer_list)) { dsp 4009 sound/soc/codecs/wm_adsp.c adsp_dbg(dsp, "Handling buffer IRQ\n"); dsp 4011 sound/soc/codecs/wm_adsp.c list_for_each_entry(buf, &dsp->buffer_list, list) { dsp 4031 sound/soc/codecs/wm_adsp.c if (wm_adsp_fw[dsp->fw].voice_trigger && buf->irq_count == 2) dsp 4040 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 4063 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = compr->dsp; dsp 4069 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 4073 sound/soc/codecs/wm_adsp.c if (dsp->fatal_error || !buf || buf->error) { dsp 4113 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 4127 sound/soc/codecs/wm_adsp.c for (i = 0; i < wm_adsp_fw[buf->dsp->fw].caps->num_regions; ++i) dsp 4131 sound/soc/codecs/wm_adsp.c if (i == wm_adsp_fw[buf->dsp->fw].caps->num_regions) dsp 4151 sound/soc/codecs/wm_adsp.c ret = wm_adsp_read_data_block(buf->dsp, mem_type, adsp_addr, dsp 4177 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = compr->dsp; dsp 4183 sound/soc/codecs/wm_adsp.c if (dsp->fatal_error || !compr->buf || compr->buf->error) { dsp 4221 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = compr->dsp; dsp 4224 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 4231 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 4237 sound/soc/codecs/wm_adsp.c static void wm_adsp_fatal_error(struct wm_adsp *dsp) dsp 4241 sound/soc/codecs/wm_adsp.c dsp->fatal_error = true; dsp 4243 sound/soc/codecs/wm_adsp.c list_for_each_entry(compr, &dsp->compr_list, list) { dsp 4251 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = (struct wm_adsp *)data; dsp 4253 sound/soc/codecs/wm_adsp.c struct regmap *regmap = dsp->regmap; dsp 4256 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 4258 sound/soc/codecs/wm_adsp.c ret = regmap_read(regmap, dsp->base + ADSP2_LOCK_REGION_CTRL, &val); dsp 4260 sound/soc/codecs/wm_adsp.c adsp_err(dsp, dsp 4266 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "watchdog timeout error\n"); dsp 4267 sound/soc/codecs/wm_adsp.c dsp->ops->stop_watchdog(dsp); dsp 4268 sound/soc/codecs/wm_adsp.c wm_adsp_fatal_error(dsp); dsp 4273 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "bus error: slave error\n"); dsp 4275 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "bus error: region lock error\n"); dsp 4277 sound/soc/codecs/wm_adsp.c ret = regmap_read(regmap, dsp->base + ADSP2_BUS_ERR_ADDR, &val); dsp 4279 sound/soc/codecs/wm_adsp.c adsp_err(dsp, dsp 4285 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "bus error address = 0x%x\n", dsp 4289 sound/soc/codecs/wm_adsp.c dsp->base + ADSP2_PMEM_ERR_ADDR_XMEM_ERR_ADDR, dsp 4292 sound/soc/codecs/wm_adsp.c adsp_err(dsp, dsp 4298 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "xmem error address = 0x%x\n", dsp 4300 sound/soc/codecs/wm_adsp.c adsp_err(dsp, "pmem error address = 0x%x\n", dsp 4305 sound/soc/codecs/wm_adsp.c regmap_update_bits(regmap, dsp->base + ADSP2_LOCK_REGION_CTRL, dsp 4309 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 4317 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = (struct wm_adsp *)data; dsp 4318 sound/soc/codecs/wm_adsp.c struct regmap *regmap = dsp->regmap; dsp 4321 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_XM_VIO_STATUS, 0x0 }, dsp 4322 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_YM_VIO_STATUS, 0x0 }, dsp 4323 sound/soc/codecs/wm_adsp.c { dsp->base + HALO_MPU_PM_VIO_STATUS, 0x0 }, dsp 4327 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 4329 sound/soc/codecs/wm_adsp.c ret = regmap_read(regmap, dsp->base_sysinfo + HALO_AHBM_WINDOW_DEBUG_1, dsp 4332 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Failed to read AHB DEBUG_1: %d\n", ret); dsp 4336 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "AHB: STATUS: 0x%x ADDR: 0x%x\n", dsp 4341 sound/soc/codecs/wm_adsp.c ret = regmap_read(regmap, dsp->base_sysinfo + HALO_AHBM_WINDOW_DEBUG_0, dsp 4344 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Failed to read AHB DEBUG_0: %d\n", ret); dsp 4348 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "AHB: SYS_ADDR: 0x%x\n", *fault); dsp 4350 sound/soc/codecs/wm_adsp.c ret = regmap_bulk_read(regmap, dsp->base + HALO_MPU_XM_VIO_ADDR, dsp 4353 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Failed to read MPU fault info: %d\n", ret); dsp 4357 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "XM: STATUS:0x%x ADDR:0x%x\n", fault[1], fault[0]); dsp 4358 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "YM: STATUS:0x%x ADDR:0x%x\n", fault[3], fault[2]); dsp 4359 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "PM: STATUS:0x%x ADDR:0x%x\n", fault[5], fault[4]); dsp 4361 sound/soc/codecs/wm_adsp.c ret = regmap_multi_reg_write(dsp->regmap, clear, ARRAY_SIZE(clear)); dsp 4363 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "Failed to clear MPU status: %d\n", ret); dsp 4366 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 4374 sound/soc/codecs/wm_adsp.c struct wm_adsp *dsp = data; dsp 4376 sound/soc/codecs/wm_adsp.c mutex_lock(&dsp->pwr_lock); dsp 4378 sound/soc/codecs/wm_adsp.c adsp_warn(dsp, "WDT Expiry Fault\n"); dsp 4379 sound/soc/codecs/wm_adsp.c dsp->ops->stop_watchdog(dsp); dsp 4380 sound/soc/codecs/wm_adsp.c wm_adsp_fatal_error(dsp); dsp 4382 sound/soc/codecs/wm_adsp.c mutex_unlock(&dsp->pwr_lock); dsp 114 sound/soc/codecs/wm_adsp.h bool (*validate_version)(struct wm_adsp *dsp, unsigned int version); dsp 115 sound/soc/codecs/wm_adsp.h unsigned int (*parse_sizes)(struct wm_adsp *dsp, dsp 119 sound/soc/codecs/wm_adsp.h int (*setup_algs)(struct wm_adsp *dsp); dsp 123 sound/soc/codecs/wm_adsp.h void (*show_fw_status)(struct wm_adsp *dsp); dsp 124 sound/soc/codecs/wm_adsp.h void (*stop_watchdog)(struct wm_adsp *dsp); dsp 126 sound/soc/codecs/wm_adsp.h int (*enable_memory)(struct wm_adsp *dsp); dsp 127 sound/soc/codecs/wm_adsp.h void (*disable_memory)(struct wm_adsp *dsp); dsp 128 sound/soc/codecs/wm_adsp.h int (*lock_memory)(struct wm_adsp *dsp, unsigned int lock_regions); dsp 130 sound/soc/codecs/wm_adsp.h int (*enable_core)(struct wm_adsp *dsp); dsp 131 sound/soc/codecs/wm_adsp.h void (*disable_core)(struct wm_adsp *dsp); dsp 133 sound/soc/codecs/wm_adsp.h int (*start_core)(struct wm_adsp *dsp); dsp 134 sound/soc/codecs/wm_adsp.h void (*stop_core)(struct wm_adsp *dsp); dsp 161 sound/soc/codecs/wm_adsp.h int wm_adsp1_init(struct wm_adsp *dsp); dsp 162 sound/soc/codecs/wm_adsp.h int wm_adsp2_init(struct wm_adsp *dsp); dsp 163 sound/soc/codecs/wm_adsp.h void wm_adsp2_remove(struct wm_adsp *dsp); dsp 164 sound/soc/codecs/wm_adsp.h int wm_adsp2_component_probe(struct wm_adsp *dsp, struct snd_soc_component *component); dsp 165 sound/soc/codecs/wm_adsp.h int wm_adsp2_component_remove(struct wm_adsp *dsp, struct snd_soc_component *component); dsp 166 sound/soc/codecs/wm_adsp.h int wm_halo_init(struct wm_adsp *dsp); dsp 192 sound/soc/codecs/wm_adsp.h int wm_adsp_compr_open(struct wm_adsp *dsp, struct snd_compr_stream *stream); dsp 199 sound/soc/codecs/wm_adsp.h int wm_adsp_compr_handle_irq(struct wm_adsp *dsp); dsp 512 sound/soc/intel/atom/sst/sst.h void sst_fill_header_dsp(struct ipc_dsp_hdr *dsp, int msg, dsp 316 sound/soc/intel/atom/sst/sst_pvt.c void sst_fill_header_dsp(struct ipc_dsp_hdr *dsp, int msg, dsp 319 sound/soc/intel/atom/sst/sst_pvt.c dsp->cmd_id = msg; dsp 320 sound/soc/intel/atom/sst/sst_pvt.c dsp->mod_index_id = 0xff; dsp 321 sound/soc/intel/atom/sst/sst_pvt.c dsp->pipe_id = pipe_id; dsp 322 sound/soc/intel/atom/sst/sst_pvt.c dsp->length = len; dsp 323 sound/soc/intel/atom/sst/sst_pvt.c dsp->mod_id = 0; dsp 57 sound/soc/intel/baytrail/sst-baytrail-dsp.c static int sst_byt_parse_module(struct sst_dsp *dsp, struct sst_fw *fw, dsp 78 sound/soc/intel/baytrail/sst-baytrail-dsp.c dev_err(dsp->dev, "block %d size invalid\n", count); dsp 85 sound/soc/intel/baytrail/sst-baytrail-dsp.c dsp->addr.iram_offset; dsp 90 sound/soc/intel/baytrail/sst-baytrail-dsp.c dsp->addr.dram_offset; dsp 95 sound/soc/intel/baytrail/sst-baytrail-dsp.c (dsp->addr.fw_ext - dsp->addr.lpe); dsp 99 sound/soc/intel/baytrail/sst-baytrail-dsp.c dev_err(dsp->dev, "wrong ram type 0x%x in block0x%x\n", dsp 118 sound/soc/intel/baytrail/sst-baytrail-dsp.c struct sst_dsp *dsp = sst_fw->dsp; dsp 128 sound/soc/intel/baytrail/sst-baytrail-dsp.c dev_err(dsp->dev, "Invalid FW sign/filesize mismatch\n"); dsp 132 sound/soc/intel/baytrail/sst-baytrail-dsp.c dev_dbg(dsp->dev, dsp 140 sound/soc/intel/baytrail/sst-baytrail-dsp.c ret = sst_byt_parse_module(dsp, sst_fw, module); dsp 142 sound/soc/intel/baytrail/sst-baytrail-dsp.c dev_err(dsp->dev, "invalid module %d\n", count); dsp 162 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_dsp *dsp; dsp 246 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_inbox_read(byt->dsp, msg->rx.data, msg->rx.size); dsp 270 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_dsp *sst = byt->dsp; dsp 343 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_dsp *sst = byt->dsp; dsp 437 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_dsp *sst = byt->dsp; dsp 542 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_dsp *sst = byt->dsp; dsp 556 sound/soc/intel/baytrail/sst-baytrail-ipc.c return byt->dsp; dsp 566 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_byt *byt = pdata->dsp; dsp 569 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_reset(byt->dsp); dsp 582 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_byt *byt = pdata->dsp; dsp 587 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_reset(byt->dsp); dsp 597 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_boot(byt->dsp); dsp 606 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_byt *byt = pdata->dsp; dsp 626 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_outbox_write(ipc->dsp, msg->tx.data, msg->tx.size); dsp 628 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_shim_write64_unlocked(ipc->dsp, SST_IPCX, msg->tx.header); dsp 633 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_dsp *sst = ipc->dsp; dsp 665 sound/soc/intel/baytrail/sst-baytrail-ipc.c static bool byt_is_dsp_busy(struct sst_dsp *dsp) dsp 669 sound/soc/intel/baytrail/sst-baytrail-ipc.c ipcx = sst_dsp_shim_read_unlocked(dsp, SST_IPCX); dsp 708 sound/soc/intel/baytrail/sst-baytrail-ipc.c byt->dsp = sst_dsp_new(dev, &byt_dev, pdata); dsp 709 sound/soc/intel/baytrail/sst-baytrail-ipc.c if (byt->dsp == NULL) { dsp 714 sound/soc/intel/baytrail/sst-baytrail-ipc.c ipc->dsp = byt->dsp; dsp 717 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_reset(byt->dsp); dsp 719 sound/soc/intel/baytrail/sst-baytrail-ipc.c byt_sst_fw = sst_fw_new(byt->dsp, pdata->fw, byt); dsp 727 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_boot(byt->dsp); dsp 737 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_inbox_read(byt->dsp, &init, sizeof(init)); dsp 745 sound/soc/intel/baytrail/sst-baytrail-ipc.c pdata->dsp = byt; dsp 751 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_reset(byt->dsp); dsp 754 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_free(byt->dsp); dsp 765 sound/soc/intel/baytrail/sst-baytrail-ipc.c struct sst_byt *byt = pdata->dsp; dsp 767 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_reset(byt->dsp); dsp 768 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_fw_free_all(byt->dsp); dsp 769 sound/soc/intel/baytrail/sst-baytrail-ipc.c sst_dsp_free(byt->dsp); dsp 369 sound/soc/intel/baytrail/sst-baytrail-pcm.c priv_data->byt = plat_data->dsp; dsp 177 sound/soc/intel/boards/bdw-rt5677.c struct sst_hsw *broadwell = pdata->dsp; dsp 130 sound/soc/intel/boards/broadwell.c struct sst_hsw *broadwell = pdata->dsp; dsp 84 sound/soc/intel/boards/haswell.c struct sst_hsw *haswell = pdata->dsp; dsp 109 sound/soc/intel/common/sst-dsp-priv.h struct sst_dsp *dsp; dsp 151 sound/soc/intel/common/sst-dsp-priv.h struct sst_dsp *dsp; dsp 190 sound/soc/intel/common/sst-dsp-priv.h struct sst_dsp *dsp; dsp 233 sound/soc/intel/common/sst-dsp-priv.h struct sst_dsp *dsp; dsp 337 sound/soc/intel/common/sst-dsp-priv.h struct sst_fw *sst_fw_new(struct sst_dsp *dsp, dsp 340 sound/soc/intel/common/sst-dsp-priv.h void sst_fw_free_all(struct sst_dsp *dsp); dsp 348 sound/soc/intel/common/sst-dsp-priv.h struct sst_module *sst_module_get_from_id(struct sst_dsp *dsp, u32 id); dsp 367 sound/soc/intel/common/sst-dsp-priv.h int sst_alloc_blocks(struct sst_dsp *dsp, struct sst_block_allocator *ba, dsp 369 sound/soc/intel/common/sst-dsp-priv.h int sst_free_blocks(struct sst_dsp *dsp, struct list_head *block_list); dsp 372 sound/soc/intel/common/sst-dsp-priv.h int sst_block_alloc_scratch(struct sst_dsp *dsp); dsp 373 sound/soc/intel/common/sst-dsp-priv.h void sst_block_free_scratch(struct sst_dsp *dsp); dsp 376 sound/soc/intel/common/sst-dsp-priv.h struct sst_mem_block *sst_mem_block_register(struct sst_dsp *dsp, u32 offset, dsp 379 sound/soc/intel/common/sst-dsp-priv.h void sst_mem_block_unregister_all(struct sst_dsp *dsp); dsp 381 sound/soc/intel/common/sst-dsp-priv.h u32 sst_dsp_get_offset(struct sst_dsp *dsp, u32 offset, dsp 331 sound/soc/intel/common/sst-dsp.c void sst_dsp_ipc_msg_tx(struct sst_dsp *dsp, u32 msg) dsp 333 sound/soc/intel/common/sst-dsp.c sst_dsp_shim_write_unlocked(dsp, SST_IPCX, msg | SST_IPCX_BUSY); dsp 338 sound/soc/intel/common/sst-dsp.c u32 sst_dsp_ipc_msg_rx(struct sst_dsp *dsp) dsp 342 sound/soc/intel/common/sst-dsp.c msg = sst_dsp_shim_read_unlocked(dsp, SST_IPCX); dsp 207 sound/soc/intel/common/sst-dsp.h void *dsp; dsp 259 sound/soc/intel/common/sst-dsp.h int sst_dsp_dma_get_channel(struct sst_dsp *dsp, int chan_id); dsp 260 sound/soc/intel/common/sst-dsp.h void sst_dsp_dma_put_channel(struct sst_dsp *dsp); dsp 267 sound/soc/intel/common/sst-dsp.h void sst_dsp_ipc_msg_tx(struct sst_dsp *dsp, u32 msg); dsp 268 sound/soc/intel/common/sst-dsp.h u32 sst_dsp_ipc_msg_rx(struct sst_dsp *dsp); dsp 271 sound/soc/intel/common/sst-dsp.h int sst_dsp_mailbox_init(struct sst_dsp *dsp, u32 inbox_offset, dsp 273 sound/soc/intel/common/sst-dsp.h void sst_dsp_inbox_write(struct sst_dsp *dsp, void *message, size_t bytes); dsp 274 sound/soc/intel/common/sst-dsp.h void sst_dsp_inbox_read(struct sst_dsp *dsp, void *message, size_t bytes); dsp 275 sound/soc/intel/common/sst-dsp.h void sst_dsp_outbox_write(struct sst_dsp *dsp, void *message, size_t bytes); dsp 276 sound/soc/intel/common/sst-dsp.h void sst_dsp_outbox_read(struct sst_dsp *dsp, void *message, size_t bytes); dsp 277 sound/soc/intel/common/sst-dsp.h void sst_dsp_mailbox_dump(struct sst_dsp *dsp, size_t bytes); dsp 278 sound/soc/intel/common/sst-dsp.h int sst_dsp_register_poll(struct sst_dsp *dsp, u32 offset, u32 mask, dsp 120 sound/soc/intel/common/sst-firmware.c static void block_list_remove(struct sst_dsp *dsp, dsp 132 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, dsp 141 sound/soc/intel/common/sst-firmware.c list_move(&block->list, &dsp->free_block_list); dsp 142 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "block freed %d:%d at offset 0x%x\n", dsp 148 sound/soc/intel/common/sst-firmware.c static int block_list_prepare(struct sst_dsp *dsp, dsp 160 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, dsp 212 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = (struct sst_dsp *)param; dsp 214 sound/soc/intel/common/sst-firmware.c return chan->device->dev == dsp->dma_dev; dsp 217 sound/soc/intel/common/sst-firmware.c int sst_dsp_dma_get_channel(struct sst_dsp *dsp, int chan_id) dsp 219 sound/soc/intel/common/sst-firmware.c struct sst_dma *dma = dsp->dma; dsp 228 sound/soc/intel/common/sst-firmware.c dma->ch = dma_request_channel(mask, dma_chan_filter, dsp); dsp 230 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: DMA request channel failed\n"); dsp 242 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: unable to set DMA slave config %d\n", dsp 252 sound/soc/intel/common/sst-firmware.c void sst_dsp_dma_put_channel(struct sst_dsp *dsp) dsp 254 sound/soc/intel/common/sst-firmware.c struct sst_dma *dma = dsp->dma; dsp 330 sound/soc/intel/common/sst-firmware.c struct sst_fw *sst_fw_new(struct sst_dsp *dsp, dsp 336 sound/soc/intel/common/sst-firmware.c if (!dsp->ops->parse_fw) dsp 343 sound/soc/intel/common/sst-firmware.c sst_fw->dsp = dsp; dsp 348 sound/soc/intel/common/sst-firmware.c sst_fw->dma_buf = dma_alloc_coherent(dsp->dma_dev, sst_fw->size, dsp 351 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: DMA alloc failed\n"); dsp 359 sound/soc/intel/common/sst-firmware.c if (dsp->fw_use_dma) { dsp 360 sound/soc/intel/common/sst-firmware.c err = sst_dsp_dma_get_channel(dsp, 0); dsp 366 sound/soc/intel/common/sst-firmware.c err = dsp->ops->parse_fw(sst_fw); dsp 368 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: parse fw failed %d\n", err); dsp 372 sound/soc/intel/common/sst-firmware.c if (dsp->fw_use_dma) dsp 373 sound/soc/intel/common/sst-firmware.c sst_dsp_dma_put_channel(dsp); dsp 375 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 376 sound/soc/intel/common/sst-firmware.c list_add(&sst_fw->list, &dsp->fw_list); dsp 377 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 382 sound/soc/intel/common/sst-firmware.c if (dsp->fw_use_dma) dsp 383 sound/soc/intel/common/sst-firmware.c sst_dsp_dma_put_channel(dsp); dsp 385 sound/soc/intel/common/sst-firmware.c dma_free_coherent(dsp->dma_dev, sst_fw->size, dsp 396 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = sst_fw->dsp; dsp 399 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "reloading firmware\n"); dsp 402 sound/soc/intel/common/sst-firmware.c ret = dsp->ops->parse_fw(sst_fw); dsp 404 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: parse fw failed %d\n", ret); dsp 412 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = sst_fw->dsp; dsp 416 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "unloading firmware\n"); dsp 418 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 421 sound/soc/intel/common/sst-firmware.c list_for_each_entry_safe(module, mtmp, &dsp->module_list, list) { dsp 427 sound/soc/intel/common/sst-firmware.c block_list_remove(dsp, &runtime->block_list); dsp 433 sound/soc/intel/common/sst-firmware.c block_list_remove(dsp, &module->block_list); dsp 440 sound/soc/intel/common/sst-firmware.c block_list_remove(dsp, &dsp->scratch_block_list); dsp 442 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 449 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = sst_fw->dsp; dsp 451 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 453 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 456 sound/soc/intel/common/sst-firmware.c dma_free_coherent(dsp->dma_dev, sst_fw->size, sst_fw->dma_buf, dsp 463 sound/soc/intel/common/sst-firmware.c void sst_fw_free_all(struct sst_dsp *dsp) dsp 467 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 468 sound/soc/intel/common/sst-firmware.c list_for_each_entry_safe(sst_fw, t, &dsp->fw_list, list) { dsp 471 sound/soc/intel/common/sst-firmware.c dma_free_coherent(dsp->dev, sst_fw->size, sst_fw->dma_buf, dsp 475 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 483 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = sst_fw->dsp; dsp 491 sound/soc/intel/common/sst-firmware.c sst_module->dsp = dsp; dsp 501 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 502 sound/soc/intel/common/sst-firmware.c list_add(&sst_module->list, &dsp->module_list); dsp 503 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 512 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = sst_module->dsp; dsp 514 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 516 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 525 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = module->dsp; dsp 533 sound/soc/intel/common/sst-firmware.c runtime->dsp = dsp; dsp 537 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 539 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 547 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = runtime->dsp; dsp 549 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 551 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 557 sound/soc/intel/common/sst-firmware.c static struct sst_mem_block *find_block(struct sst_dsp *dsp, dsp 562 sound/soc/intel/common/sst-firmware.c list_for_each_entry(block, &dsp->free_block_list, list) { dsp 571 sound/soc/intel/common/sst-firmware.c static int block_alloc_contiguous(struct sst_dsp *dsp, dsp 581 sound/soc/intel/common/sst-firmware.c block = find_block(dsp, ba); dsp 583 sound/soc/intel/common/sst-firmware.c list_splice(&tmp, &dsp->free_block_list); dsp 604 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "block allocated %d:%d at offset 0x%x\n", dsp 608 sound/soc/intel/common/sst-firmware.c list_splice(&tmp, &dsp->used_block_list); dsp 613 sound/soc/intel/common/sst-firmware.c static int block_alloc(struct sst_dsp *dsp, struct sst_block_allocator *ba, dsp 623 sound/soc/intel/common/sst-firmware.c list_for_each_entry_safe(block, tmp, &dsp->free_block_list, list) { dsp 635 sound/soc/intel/common/sst-firmware.c list_move(&block->list, &dsp->used_block_list); dsp 636 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "block allocated %d:%d at offset 0x%x\n", dsp 642 sound/soc/intel/common/sst-firmware.c list_for_each_entry_safe(block, tmp, &dsp->free_block_list, list) { dsp 654 sound/soc/intel/common/sst-firmware.c ret = block_alloc_contiguous(dsp, ba, block_list); dsp 665 sound/soc/intel/common/sst-firmware.c int sst_alloc_blocks(struct sst_dsp *dsp, struct sst_block_allocator *ba, dsp 670 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "block request 0x%x bytes at offset 0x%x type %d\n", dsp 673 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 675 sound/soc/intel/common/sst-firmware.c ret = block_alloc(dsp, ba, block_list); dsp 677 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: can't alloc blocks %d\n", ret); dsp 682 sound/soc/intel/common/sst-firmware.c ret = block_list_prepare(dsp, block_list); dsp 684 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: prepare failed\n"); dsp 687 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 692 sound/soc/intel/common/sst-firmware.c int sst_free_blocks(struct sst_dsp *dsp, struct list_head *block_list) dsp 694 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 695 sound/soc/intel/common/sst-firmware.c block_list_remove(dsp, block_list); dsp 696 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 702 sound/soc/intel/common/sst-firmware.c static int block_alloc_fixed(struct sst_dsp *dsp, struct sst_block_allocator *ba, dsp 733 sound/soc/intel/common/sst-firmware.c err = block_alloc_contiguous(dsp, &ba_tmp, block_list); dsp 743 sound/soc/intel/common/sst-firmware.c list_for_each_entry_safe(block, tmp, &dsp->free_block_list, list) { dsp 754 sound/soc/intel/common/sst-firmware.c list_move(&block->list, &dsp->used_block_list); dsp 756 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "block allocated %d:%d at offset 0x%x\n", dsp 765 sound/soc/intel/common/sst-firmware.c list_move(&block->list, &dsp->used_block_list); dsp 771 sound/soc/intel/common/sst-firmware.c err = block_alloc_contiguous(dsp, &ba_tmp, block_list); dsp 785 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = module->dsp; dsp 795 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "block request 0x%x bytes at offset 0x%x type %d\n", dsp 798 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 801 sound/soc/intel/common/sst-firmware.c ret = block_alloc_fixed(dsp, &ba, &module->block_list); dsp 803 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, dsp 806 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 811 sound/soc/intel/common/sst-firmware.c ret = block_list_prepare(dsp, &module->block_list); dsp 813 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: fw module prepare failed\n"); dsp 818 sound/soc/intel/common/sst-firmware.c if (dsp->fw_use_dma) { dsp 819 sound/soc/intel/common/sst-firmware.c ret = sst_dsp_dma_copyto(dsp, dsp 820 sound/soc/intel/common/sst-firmware.c dsp->addr.lpe_base + module->offset, dsp 824 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: module copy failed\n"); dsp 828 sound/soc/intel/common/sst-firmware.c sst_memcpy32(dsp->addr.lpe + module->offset, module->data, dsp 831 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 835 sound/soc/intel/common/sst-firmware.c block_list_remove(dsp, &module->block_list); dsp 836 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 844 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = module->dsp; dsp 846 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 847 sound/soc/intel/common/sst-firmware.c block_list_remove(dsp, &module->block_list); dsp 848 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 856 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = runtime->dsp; dsp 868 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 875 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "persistent fixed block request 0x%x bytes type %d offset 0x%x\n", dsp 879 sound/soc/intel/common/sst-firmware.c ret = block_alloc_fixed(dsp, &ba, &runtime->block_list); dsp 882 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "persistent block request 0x%x bytes type %d\n", dsp 886 sound/soc/intel/common/sst-firmware.c ret = block_alloc(dsp, &ba, &runtime->block_list); dsp 889 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, dsp 892 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 898 sound/soc/intel/common/sst-firmware.c ret = block_list_prepare(dsp, &runtime->block_list); dsp 900 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: runtime block prepare failed\n"); dsp 904 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 908 sound/soc/intel/common/sst-firmware.c block_list_remove(dsp, &module->block_list); dsp 909 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 916 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = runtime->dsp; dsp 918 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 919 sound/soc/intel/common/sst-firmware.c block_list_remove(dsp, &runtime->block_list); dsp 920 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 928 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = runtime->dsp; dsp 932 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "saving runtime %d memory at 0x%x size 0x%x\n", dsp 936 sound/soc/intel/common/sst-firmware.c context->buffer = dma_alloc_coherent(dsp->dma_dev, dsp 940 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: DMA context alloc failed\n"); dsp 944 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 946 sound/soc/intel/common/sst-firmware.c if (dsp->fw_use_dma) { dsp 948 sound/soc/intel/common/sst-firmware.c ret = sst_dsp_dma_get_channel(dsp, 0); dsp 952 sound/soc/intel/common/sst-firmware.c ret = sst_dsp_dma_copyfrom(dsp, context->dma_buffer, dsp 953 sound/soc/intel/common/sst-firmware.c dsp->addr.lpe_base + runtime->persistent_offset, dsp 955 sound/soc/intel/common/sst-firmware.c sst_dsp_dma_put_channel(dsp); dsp 957 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: context copy failed\n"); dsp 961 sound/soc/intel/common/sst-firmware.c sst_memcpy32(context->buffer, dsp->addr.lpe + dsp 966 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 974 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = runtime->dsp; dsp 978 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "restoring runtime %d memory at 0x%x size 0x%x\n", dsp 982 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 985 sound/soc/intel/common/sst-firmware.c dev_info(dsp->dev, "no context buffer need to restore!\n"); dsp 989 sound/soc/intel/common/sst-firmware.c if (dsp->fw_use_dma) { dsp 991 sound/soc/intel/common/sst-firmware.c ret = sst_dsp_dma_get_channel(dsp, 0); dsp 995 sound/soc/intel/common/sst-firmware.c ret = sst_dsp_dma_copyto(dsp, dsp 996 sound/soc/intel/common/sst-firmware.c dsp->addr.lpe_base + runtime->persistent_offset, dsp 998 sound/soc/intel/common/sst-firmware.c sst_dsp_dma_put_channel(dsp); dsp 1000 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: module copy failed\n"); dsp 1004 sound/soc/intel/common/sst-firmware.c sst_memcpy32(dsp->addr.lpe + runtime->persistent_offset, dsp 1007 sound/soc/intel/common/sst-firmware.c dma_free_coherent(dsp->dma_dev, module->persistent_size, dsp 1012 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1018 sound/soc/intel/common/sst-firmware.c struct sst_mem_block *sst_mem_block_register(struct sst_dsp *dsp, u32 offset, dsp 1032 sound/soc/intel/common/sst-firmware.c block->dsp = dsp; dsp 1036 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 1037 sound/soc/intel/common/sst-firmware.c list_add(&block->list, &dsp->free_block_list); dsp 1038 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1045 sound/soc/intel/common/sst-firmware.c void sst_mem_block_unregister_all(struct sst_dsp *dsp) dsp 1049 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 1052 sound/soc/intel/common/sst-firmware.c list_for_each_entry_safe(block, tmp, &dsp->used_block_list, list) { dsp 1058 sound/soc/intel/common/sst-firmware.c list_for_each_entry_safe(block, tmp, &dsp->free_block_list, list) { dsp 1063 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1068 sound/soc/intel/common/sst-firmware.c int sst_block_alloc_scratch(struct sst_dsp *dsp) dsp 1074 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 1077 sound/soc/intel/common/sst-firmware.c dsp->scratch_size = 0; dsp 1078 sound/soc/intel/common/sst-firmware.c list_for_each_entry(module, &dsp->module_list, list) { dsp 1079 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "module %d scratch req 0x%x bytes\n", dsp 1081 sound/soc/intel/common/sst-firmware.c if (dsp->scratch_size < module->scratch_size) dsp 1082 sound/soc/intel/common/sst-firmware.c dsp->scratch_size = module->scratch_size; dsp 1085 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "scratch buffer required is 0x%x bytes\n", dsp 1086 sound/soc/intel/common/sst-firmware.c dsp->scratch_size); dsp 1088 sound/soc/intel/common/sst-firmware.c if (dsp->scratch_size == 0) { dsp 1089 sound/soc/intel/common/sst-firmware.c dev_info(dsp->dev, "no modules need scratch buffer\n"); dsp 1090 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1095 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "allocating scratch blocks\n"); dsp 1097 sound/soc/intel/common/sst-firmware.c ba.size = dsp->scratch_size; dsp 1101 sound/soc/intel/common/sst-firmware.c if (dsp->scratch_offset != 0) { dsp 1103 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "block request 0x%x bytes type %d at 0x%x\n", dsp 1106 sound/soc/intel/common/sst-firmware.c ba.offset = dsp->scratch_offset; dsp 1109 sound/soc/intel/common/sst-firmware.c ret = block_alloc_fixed(dsp, &ba, &dsp->scratch_block_list); dsp 1112 sound/soc/intel/common/sst-firmware.c dev_dbg(dsp->dev, "block request 0x%x bytes type %d\n", dsp 1116 sound/soc/intel/common/sst-firmware.c ret = block_alloc(dsp, &ba, &dsp->scratch_block_list); dsp 1119 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: can't alloc scratch blocks\n"); dsp 1120 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1124 sound/soc/intel/common/sst-firmware.c ret = block_list_prepare(dsp, &dsp->scratch_block_list); dsp 1126 sound/soc/intel/common/sst-firmware.c dev_err(dsp->dev, "error: scratch block prepare failed\n"); dsp 1127 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1132 sound/soc/intel/common/sst-firmware.c dsp->scratch_offset = ba.offset; dsp 1133 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1134 sound/soc/intel/common/sst-firmware.c return dsp->scratch_size; dsp 1139 sound/soc/intel/common/sst-firmware.c void sst_block_free_scratch(struct sst_dsp *dsp) dsp 1141 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 1142 sound/soc/intel/common/sst-firmware.c block_list_remove(dsp, &dsp->scratch_block_list); dsp 1143 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1148 sound/soc/intel/common/sst-firmware.c struct sst_module *sst_module_get_from_id(struct sst_dsp *dsp, u32 id) dsp 1152 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 1154 sound/soc/intel/common/sst-firmware.c list_for_each_entry(module, &dsp->module_list, list) { dsp 1156 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1161 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1170 sound/soc/intel/common/sst-firmware.c struct sst_dsp *dsp = module->dsp; dsp 1172 sound/soc/intel/common/sst-firmware.c mutex_lock(&dsp->mutex); dsp 1176 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1181 sound/soc/intel/common/sst-firmware.c mutex_unlock(&dsp->mutex); dsp 1187 sound/soc/intel/common/sst-firmware.c u32 sst_dsp_get_offset(struct sst_dsp *dsp, u32 offset, dsp 1192 sound/soc/intel/common/sst-firmware.c return offset - dsp->addr.iram_offset + dsp 1193 sound/soc/intel/common/sst-firmware.c dsp->addr.dsp_iram_offset; dsp 1195 sound/soc/intel/common/sst-firmware.c return offset - dsp->addr.dram_offset + dsp 1196 sound/soc/intel/common/sst-firmware.c dsp->addr.dsp_dram_offset; dsp 55 sound/soc/intel/common/sst-ipc.c spin_lock_irqsave(&ipc->dsp->spinlock, flags); dsp 74 sound/soc/intel/common/sst-ipc.c spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); dsp 85 sound/soc/intel/common/sst-ipc.c spin_lock_irqsave(&ipc->dsp->spinlock, flags); dsp 89 sound/soc/intel/common/sst-ipc.c spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); dsp 107 sound/soc/intel/common/sst-ipc.c spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); dsp 158 sound/soc/intel/common/sst-ipc.c spin_lock_irq(&ipc->dsp->spinlock); dsp 165 sound/soc/intel/common/sst-ipc.c if (ipc->ops.is_dsp_busy && ipc->ops.is_dsp_busy(ipc->dsp)) { dsp 177 sound/soc/intel/common/sst-ipc.c spin_unlock_irq(&ipc->dsp->spinlock); dsp 191 sound/soc/intel/common/sst-ipc.c if (ipc->ops.check_dsp_lp_on(ipc->dsp, true)) dsp 197 sound/soc/intel/common/sst-ipc.c if (ipc->ops.check_dsp_lp_on(ipc->dsp, false)) dsp 264 sound/soc/intel/common/sst-ipc.c spin_lock_irqsave(&ipc->dsp->spinlock, flags); dsp 276 sound/soc/intel/common/sst-ipc.c spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); dsp 46 sound/soc/intel/common/sst-ipc.h bool (*is_dsp_busy)(struct sst_dsp *dsp); dsp 47 sound/soc/intel/common/sst-ipc.h int (*check_dsp_lp_on)(struct sst_dsp *dsp, bool state); dsp 53 sound/soc/intel/common/sst-ipc.h struct sst_dsp *dsp; dsp 79 sound/soc/intel/haswell/sst-haswell-dsp.c static int hsw_parse_module(struct sst_dsp *dsp, struct sst_fw *fw, dsp 100 sound/soc/intel/haswell/sst-haswell-dsp.c dev_dbg(dsp->dev, "new module sign 0x%s size 0x%x blocks 0x%x type 0x%x\n", dsp 103 sound/soc/intel/haswell/sst-haswell-dsp.c dev_dbg(dsp->dev, " entrypoint 0x%x\n", entry_point); dsp 104 sound/soc/intel/haswell/sst-haswell-dsp.c dev_dbg(dsp->dev, " persistent 0x%x scratch 0x%x\n", dsp 122 sound/soc/intel/haswell/sst-haswell-dsp.c dev_err(dsp->dev, dsp 130 sound/soc/intel/haswell/sst-haswell-dsp.c ram = dsp->addr.lpe; dsp 132 sound/soc/intel/haswell/sst-haswell-dsp.c dsp->addr.iram_offset; dsp 137 sound/soc/intel/haswell/sst-haswell-dsp.c ram = dsp->addr.lpe; dsp 142 sound/soc/intel/haswell/sst-haswell-dsp.c dev_err(dsp->dev, "error: bad type 0x%x for block 0x%x\n", dsp 152 sound/soc/intel/haswell/sst-haswell-dsp.c dev_dbg(dsp->dev, "module block %d type 0x%x " dsp 159 sound/soc/intel/haswell/sst-haswell-dsp.c dev_err(dsp->dev, "error: could not allocate blocks for module %d\n", dsp 177 sound/soc/intel/haswell/sst-haswell-dsp.c struct sst_dsp *dsp = sst_fw->dsp; dsp 187 sound/soc/intel/haswell/sst-haswell-dsp.c dev_err(dsp->dev, "error: invalid fw sign/filesize mismatch\n"); dsp 191 sound/soc/intel/haswell/sst-haswell-dsp.c dev_dbg(dsp->dev, "header size=0x%x modules=0x%x fmt=0x%x size=%zu\n", dsp 200 sound/soc/intel/haswell/sst-haswell-dsp.c ret = hsw_parse_module(dsp, sst_fw, module); dsp 202 sound/soc/intel/haswell/sst-haswell-dsp.c dev_err(dsp->dev, "error: invalid module %d\n", count); dsp 496 sound/soc/intel/haswell/sst-haswell-dsp.c struct sst_dsp *sst = block->dsp; dsp 527 sound/soc/intel/haswell/sst-haswell-dsp.c struct sst_dsp *sst = block->dsp; dsp 536 sound/soc/intel/haswell/sst-haswell-dsp.c struct sst_dsp *sst = block->dsp; dsp 542 sound/soc/intel/haswell/sst-haswell-dsp.c dev_dbg(block->dsp->dev, " enabled block %d:%d at offset 0x%x\n", dsp 572 sound/soc/intel/haswell/sst-haswell-dsp.c struct sst_dsp *sst = block->dsp; dsp 578 sound/soc/intel/haswell/sst-haswell-dsp.c dev_dbg(block->dsp->dev, " disabled block %d:%d at offset 0x%x\n", dsp 272 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *dsp; dsp 438 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_read(hsw->dsp, &fw_ready, offset, sizeof(fw_ready)); dsp 440 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_mailbox_init(hsw->dsp, fw_ready.inbox_offset, dsp 481 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_inbox_read(hsw->dsp, glitch, sizeof(*glitch)); dsp 491 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_inbox_read(hsw->dsp, pos, sizeof(*pos)); dsp 504 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_shim_update_bits(hsw->dsp, SST_IPCD, dsp 508 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_shim_update_bits(hsw->dsp, SST_IMRX, SST_IMRX_BUSY, 0); dsp 566 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_inbox_read(hsw->dsp, msg->rx.data, dsp 571 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_outbox_read(hsw->dsp, msg->rx.data, dsp 701 sound/soc/intel/haswell/sst-haswell-ipc.c hsw->dsp, &stream->curr_pos, sizeof(stream->curr_pos)); dsp 711 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *sst = hsw->dsp; dsp 770 sound/soc/intel/haswell/sst-haswell-ipc.c ipcx = sst_dsp_ipc_msg_rx(hsw->dsp); dsp 834 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_read(hsw->dsp, volume, dsp 900 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_read(hsw->dsp, volume, dsp 967 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *sst = hsw->dsp; dsp 993 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *sst = hsw->dsp; dsp 1149 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *dsp = sst_hsw_get_dsp(hsw); dsp 1163 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_get_offset(dsp, runtime->persistent_offset, SST_MEM_DRAM); dsp 1167 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_get_offset(dsp, dsp->scratch_offset, SST_MEM_DRAM); dsp 1168 sound/soc/intel/haswell/sst-haswell-ipc.c stream->request.scratch_mem.size = dsp->scratch_size; dsp 1361 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_read(hsw->dsp, &rpos, dsp 1373 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_read(hsw->dsp, &ppos, dsp 1453 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *dsp = hsw->dsp; dsp 1458 sound/soc/intel/haswell/sst-haswell-ipc.c module = sst_module_get_from_id(dsp, mod_id); dsp 1460 sound/soc/intel/haswell/sst-haswell-ipc.c dev_err(dsp->dev, "error: failed to get module %d for pcm\n", dsp 1467 sound/soc/intel/haswell/sst-haswell-ipc.c dev_err(dsp->dev, "error: failed to create module %d runtime\n", dsp 1474 sound/soc/intel/haswell/sst-haswell-ipc.c dev_err(dsp->dev, "error: failed to alloc blocks for module %d runtime\n", dsp 1480 sound/soc/intel/haswell/sst-haswell-ipc.c dev_dbg(dsp->dev, "runtime id %d created for module %d\n", runtime->id, dsp 1494 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *sst = hsw->dsp; dsp 1547 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *sst = hsw->dsp; dsp 1576 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *dsp = hsw->dsp; dsp 1582 sound/soc/intel/haswell/sst-haswell-ipc.c ret = sst_dsp_wake(dsp); dsp 1588 sound/soc/intel/haswell/sst-haswell-ipc.c ret = sst_dsp_dma_get_channel(dsp, 0); dsp 1594 sound/soc/intel/haswell/sst-haswell-ipc.c list_for_each_entry_safe_reverse(sst_fw, t, &dsp->fw_list, list) { dsp 1598 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_dma_put_channel(dsp); dsp 1602 sound/soc/intel/haswell/sst-haswell-ipc.c ret = sst_block_alloc_scratch(hsw->dsp); dsp 1606 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_dma_put_channel(dsp); dsp 1612 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *dsp = hsw->dsp; dsp 1617 sound/soc/intel/haswell/sst-haswell-ipc.c ret = sst_dsp_dma_get_channel(dsp, 0); dsp 1626 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_dma_put_channel(dsp); dsp 1629 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_dma_put_channel(dsp); dsp 1632 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_boot(dsp); dsp 1647 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_stall(hsw->dsp); dsp 1661 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *dsp = hsw->dsp; dsp 1663 sound/soc/intel/haswell/sst-haswell-ipc.c list_for_each_entry_safe(sst_fw, t, &dsp->fw_list, list) { dsp 1666 sound/soc/intel/haswell/sst-haswell-ipc.c sst_block_free_scratch(dsp); dsp 1670 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_sleep(dsp); dsp 1695 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_shim_read_unlocked(hsw->dsp, SST_IPCD), dsp 1696 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_shim_read_unlocked(hsw->dsp, SST_IPCX)); dsp 1713 sound/soc/intel/haswell/sst-haswell-ipc.c return hsw->dsp; dsp 1723 sound/soc/intel/haswell/sst-haswell-ipc.c module = sst_module_get_from_id(hsw->dsp, id); dsp 1738 sound/soc/intel/haswell/sst-haswell-ipc.c module = sst_module_get_from_id(hsw->dsp, module_id); dsp 1749 sound/soc/intel/haswell/sst-haswell-ipc.c module = sst_module_get_from_id(hsw->dsp, module_id); dsp 1840 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *dsp = hsw->dsp; dsp 1844 sound/soc/intel/haswell/sst-haswell-ipc.c module = sst_module_get_from_id(dsp, module_id); dsp 1849 sound/soc/intel/haswell/sst-haswell-ipc.c fw = dsp->pdata->fw; dsp 1865 sound/soc/intel/haswell/sst-haswell-ipc.c hsw_sst_fw = sst_fw_new(dsp, fw, hsw); dsp 1871 sound/soc/intel/haswell/sst-haswell-ipc.c module = sst_module_get_from_id(dsp, module_id); dsp 1896 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *dsp = hsw->dsp; dsp 1908 sound/soc/intel/haswell/sst-haswell-ipc.c module = sst_module_get_from_id(dsp, module_id); dsp 1930 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_get_offset(dsp, dsp 1935 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_get_offset(dsp, dsp 1936 sound/soc/intel/haswell/sst-haswell-ipc.c dsp->scratch_offset, SST_MEM_DRAM); dsp 1963 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *dsp = hsw->dsp; dsp 1975 sound/soc/intel/haswell/sst-haswell-ipc.c module = sst_module_get_from_id(dsp, module_id); dsp 2056 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_outbox_write(ipc->dsp, msg->tx.data, msg->tx.size); dsp 2057 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_ipc_msg_tx(ipc->dsp, msg->tx.header); dsp 2062 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_dsp *sst = ipc->dsp; dsp 2090 sound/soc/intel/haswell/sst-haswell-ipc.c static bool hsw_is_dsp_busy(struct sst_dsp *dsp) dsp 2094 sound/soc/intel/haswell/sst-haswell-ipc.c ipcx = sst_dsp_shim_read_unlocked(dsp, SST_IPCX); dsp 2133 sound/soc/intel/haswell/sst-haswell-ipc.c hsw->dsp = sst_dsp_new(dev, &hsw_dev, pdata); dsp 2134 sound/soc/intel/haswell/sst-haswell-ipc.c if (hsw->dsp == NULL) { dsp 2139 sound/soc/intel/haswell/sst-haswell-ipc.c ipc->dsp = hsw->dsp; dsp 2142 sound/soc/intel/haswell/sst-haswell-ipc.c hsw->dx_context = dma_alloc_coherent(hsw->dsp->dma_dev, dsp 2150 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_reset(hsw->dsp); dsp 2161 sound/soc/intel/haswell/sst-haswell-ipc.c ret = sst_block_alloc_scratch(hsw->dsp); dsp 2169 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_boot(hsw->dsp); dsp 2175 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_shim_read_unlocked(hsw->dsp, SST_IPCD), dsp 2176 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_shim_read_unlocked(hsw->dsp, SST_IPCX)); dsp 2193 sound/soc/intel/haswell/sst-haswell-ipc.c pdata->dsp = hsw; dsp 2197 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_reset(hsw->dsp); dsp 2198 sound/soc/intel/haswell/sst-haswell-ipc.c sst_fw_free_all(hsw->dsp); dsp 2200 sound/soc/intel/haswell/sst-haswell-ipc.c dma_free_coherent(hsw->dsp->dma_dev, SST_HSW_DX_CONTEXT_SIZE, dsp 2203 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_free(hsw->dsp); dsp 2213 sound/soc/intel/haswell/sst-haswell-ipc.c struct sst_hsw *hsw = pdata->dsp; dsp 2215 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_reset(hsw->dsp); dsp 2216 sound/soc/intel/haswell/sst-haswell-ipc.c sst_fw_free_all(hsw->dsp); dsp 2217 sound/soc/intel/haswell/sst-haswell-ipc.c dma_free_coherent(hsw->dsp->dma_dev, SST_HSW_DX_CONTEXT_SIZE, dsp 2219 sound/soc/intel/haswell/sst-haswell-ipc.c sst_dsp_free(hsw->dsp); dsp 471 sound/soc/intel/haswell/sst-haswell-pcm.c struct sst_dsp *dsp; dsp 626 sound/soc/intel/haswell/sst-haswell-pcm.c dsp = sst_hsw_get_dsp(hsw); dsp 628 sound/soc/intel/haswell/sst-haswell-pcm.c module_data = sst_module_get_from_id(dsp, module_id); dsp 1053 sound/soc/intel/haswell/sst-haswell-pcm.c priv_data->hsw = pdata->dsp; dsp 1151 sound/soc/intel/haswell/sst-haswell-pcm.c priv_data->hsw = sst_pdata->dsp; dsp 293 sound/soc/intel/skylake/bxt-sst.c struct sst_dsp *ctx = skl->dsp; dsp 551 sound/soc/intel/skylake/bxt-sst.c struct skl_dev **dsp) dsp 557 sound/soc/intel/skylake/bxt-sst.c ret = skl_sst_ctx_init(dev, irq, fw_name, dsp_ops, dsp, &skl_dev); dsp 563 sound/soc/intel/skylake/bxt-sst.c skl = *dsp; dsp 564 sound/soc/intel/skylake/bxt-sst.c sst = skl->dsp; dsp 597 sound/soc/intel/skylake/bxt-sst.c struct sst_dsp *sst = skl->dsp; dsp 625 sound/soc/intel/skylake/bxt-sst.c if (skl->dsp->fw) dsp 626 sound/soc/intel/skylake/bxt-sst.c release_firmware(skl->dsp->fw); dsp 629 sound/soc/intel/skylake/bxt-sst.c skl->dsp->ops->free(skl->dsp); dsp 210 sound/soc/intel/skylake/cnl-sst-dsp.c void cnl_dsp_free(struct sst_dsp *dsp) dsp 212 sound/soc/intel/skylake/cnl-sst-dsp.c cnl_ipc_int_disable(dsp); dsp 214 sound/soc/intel/skylake/cnl-sst-dsp.c free_irq(dsp->irq, dsp); dsp 215 sound/soc/intel/skylake/cnl-sst-dsp.c cnl_ipc_op_int_disable(dsp); dsp 216 sound/soc/intel/skylake/cnl-sst-dsp.c cnl_dsp_disable_core(dsp, SKL_DSP_CORE0_MASK); dsp 264 sound/soc/intel/skylake/cnl-sst-dsp.c cnl_ipc_op_int_disable(ipc->dsp); dsp 88 sound/soc/intel/skylake/cnl-sst-dsp.h void cnl_dsp_free(struct sst_dsp *dsp); dsp 99 sound/soc/intel/skylake/cnl-sst-dsp.h struct skl_dev **dsp); dsp 294 sound/soc/intel/skylake/cnl-sst.c struct sst_dsp *dsp = context; dsp 295 sound/soc/intel/skylake/cnl-sst.c struct skl_dev *cnl = sst_dsp_get_thread_context(dsp); dsp 302 sound/soc/intel/skylake/cnl-sst.c if (!(dsp->intr_status & CNL_ADSPIS_IPC)) dsp 305 sound/soc/intel/skylake/cnl-sst.c hipcida = sst_dsp_shim_read_unlocked(dsp, CNL_ADSP_REG_HIPCIDA); dsp 306 sound/soc/intel/skylake/cnl-sst.c hipctdr = sst_dsp_shim_read_unlocked(dsp, CNL_ADSP_REG_HIPCTDR); dsp 307 sound/soc/intel/skylake/cnl-sst.c hipctdd = sst_dsp_shim_read_unlocked(dsp, CNL_ADSP_REG_HIPCTDD); dsp 311 sound/soc/intel/skylake/cnl-sst.c sst_dsp_shim_update_bits(dsp, CNL_ADSP_REG_HIPCCTL, dsp 315 sound/soc/intel/skylake/cnl-sst.c sst_dsp_shim_update_bits_forced(dsp, CNL_ADSP_REG_HIPCIDA, dsp 321 sound/soc/intel/skylake/cnl-sst.c sst_dsp_shim_update_bits(dsp, CNL_ADSP_REG_HIPCCTL, dsp 329 sound/soc/intel/skylake/cnl-sst.c dev_dbg(dsp->dev, "IPC irq: Firmware respond primary:%x", dsp 331 sound/soc/intel/skylake/cnl-sst.c dev_dbg(dsp->dev, "IPC irq: Firmware respond extension:%x", dsp 338 sound/soc/intel/skylake/cnl-sst.c dev_dbg(dsp->dev, "IPC irq: Notification from firmware\n"); dsp 342 sound/soc/intel/skylake/cnl-sst.c sst_dsp_shim_update_bits_forced(dsp, CNL_ADSP_REG_HIPCTDR, dsp 346 sound/soc/intel/skylake/cnl-sst.c sst_dsp_shim_update_bits_forced(dsp, CNL_ADSP_REG_HIPCTDA, dsp 354 sound/soc/intel/skylake/cnl-sst.c cnl_ipc_int_enable(dsp); dsp 372 sound/soc/intel/skylake/cnl-sst.c sst_dsp_outbox_write(ipc->dsp, msg->tx.data, msg->tx.size); dsp 373 sound/soc/intel/skylake/cnl-sst.c sst_dsp_shim_write_unlocked(ipc->dsp, CNL_ADSP_REG_HIPCIDD, dsp 375 sound/soc/intel/skylake/cnl-sst.c sst_dsp_shim_write_unlocked(ipc->dsp, CNL_ADSP_REG_HIPCIDR, dsp 379 sound/soc/intel/skylake/cnl-sst.c static bool cnl_ipc_is_dsp_busy(struct sst_dsp *dsp) dsp 383 sound/soc/intel/skylake/cnl-sst.c hipcidr = sst_dsp_shim_read_unlocked(dsp, CNL_ADSP_REG_HIPCIDR); dsp 394 sound/soc/intel/skylake/cnl-sst.c ipc->dsp = cnl->dsp; dsp 417 sound/soc/intel/skylake/cnl-sst.c struct skl_dev **dsp) dsp 423 sound/soc/intel/skylake/cnl-sst.c ret = skl_sst_ctx_init(dev, irq, fw_name, dsp_ops, dsp, &cnl_dev); dsp 429 sound/soc/intel/skylake/cnl-sst.c cnl = *dsp; dsp 430 sound/soc/intel/skylake/cnl-sst.c sst = cnl->dsp; dsp 459 sound/soc/intel/skylake/cnl-sst.c struct sst_dsp *sst = skl->dsp; dsp 461 sound/soc/intel/skylake/cnl-sst.c ret = skl->dsp->fw_ops.load_fw(sst); dsp 477 sound/soc/intel/skylake/cnl-sst.c if (skl->dsp->fw) dsp 478 sound/soc/intel/skylake/cnl-sst.c release_firmware(skl->dsp->fw); dsp 483 sound/soc/intel/skylake/cnl-sst.c skl->dsp->ops->free(skl->dsp); dsp 177 sound/soc/intel/skylake/skl-debug.c struct sst_dsp *sst = d->skl->dsp; dsp 328 sound/soc/intel/skylake/skl-messages.c if (skl->dsp->addr.lpe) dsp 329 sound/soc/intel/skylake/skl-messages.c iounmap(skl->dsp->addr.lpe); dsp 369 sound/soc/intel/skylake/skl-messages.c ret = skl_dsp_sleep(skl->dsp); dsp 404 sound/soc/intel/skylake/skl-messages.c ret = skl_dsp_wake(skl->dsp); dsp 448 sound/soc/intel/skylake/skl-sst-dsp.c void skl_dsp_free(struct sst_dsp *dsp) dsp 450 sound/soc/intel/skylake/skl-sst-dsp.c skl_ipc_int_disable(dsp); dsp 452 sound/soc/intel/skylake/skl-sst-dsp.c free_irq(dsp->irq, dsp); dsp 453 sound/soc/intel/skylake/skl-sst-dsp.c skl_ipc_op_int_disable(dsp); dsp 454 sound/soc/intel/skylake/skl-sst-dsp.c skl_dsp_disable_core(dsp, SKL_DSP_CORE0_MASK); dsp 217 sound/soc/intel/skylake/skl-sst-dsp.h void skl_dsp_free(struct sst_dsp *dsp); dsp 225 sound/soc/intel/skylake/skl-sst-dsp.h struct skl_dev **dsp); dsp 228 sound/soc/intel/skylake/skl-sst-dsp.h struct skl_dev **dsp); dsp 247 sound/soc/intel/skylake/skl-sst-dsp.h struct skl_dsp_loader_ops dsp_ops, struct skl_dev **dsp, dsp 287 sound/soc/intel/skylake/skl-sst-ipc.c static bool skl_ipc_is_dsp_busy(struct sst_dsp *dsp) dsp 291 sound/soc/intel/skylake/skl-sst-ipc.c hipci = sst_dsp_shim_read_unlocked(dsp, SKL_ADSP_REG_HIPCI); dsp 301 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_outbox_write(ipc->dsp, msg->tx.data, msg->tx.size); dsp 302 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_shim_write_unlocked(ipc->dsp, SKL_ADSP_REG_HIPCIE, dsp 304 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_shim_write_unlocked(ipc->dsp, SKL_ADSP_REG_HIPCI, dsp 308 sound/soc/intel/skylake/skl-sst-ipc.c int skl_ipc_check_D0i0(struct sst_dsp *dsp, bool state) dsp 313 sound/soc/intel/skylake/skl-sst-ipc.c if (!dsp->fw_ops.set_state_D0i0) dsp 318 sound/soc/intel/skylake/skl-sst-ipc.c ret = dsp->fw_ops.set_state_D0i0(dsp); dsp 320 sound/soc/intel/skylake/skl-sst-ipc.c ret = dsp->fw_ops.set_state_D0i3(dsp); dsp 417 sound/soc/intel/skylake/skl-sst-ipc.c ipc->dsp->fw_ops.get_fw_errcode(ipc->dsp)); dsp 424 sound/soc/intel/skylake/skl-sst-ipc.c ipc->dsp->fw_ops.get_fw_errcode(ipc->dsp)); dsp 428 sound/soc/intel/skylake/skl-sst-ipc.c ipc->dsp->fw_ops.get_fw_errcode(ipc->dsp)); dsp 442 sound/soc/intel/skylake/skl-sst-ipc.c spin_lock_irqsave(&ipc->dsp->spinlock, flags); dsp 444 sound/soc/intel/skylake/skl-sst-ipc.c spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); dsp 455 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_inbox_read(ipc->dsp, msg->rx.data, msg->rx.size); dsp 484 sound/soc/intel/skylake/skl-sst-ipc.c spin_lock_irqsave(&ipc->dsp->spinlock, flags); dsp 486 sound/soc/intel/skylake/skl-sst-ipc.c spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); dsp 491 sound/soc/intel/skylake/skl-sst-ipc.c struct sst_dsp *dsp = context; dsp 492 sound/soc/intel/skylake/skl-sst-ipc.c struct skl_dev *skl = sst_dsp_get_thread_context(dsp); dsp 498 sound/soc/intel/skylake/skl-sst-ipc.c if (dsp->intr_status & SKL_ADSPIS_CL_DMA) dsp 499 sound/soc/intel/skylake/skl-sst-ipc.c skl_cldma_process_intr(dsp); dsp 502 sound/soc/intel/skylake/skl-sst-ipc.c if (!(dsp->intr_status & SKL_ADSPIS_IPC)) dsp 505 sound/soc/intel/skylake/skl-sst-ipc.c hipcie = sst_dsp_shim_read_unlocked(dsp, SKL_ADSP_REG_HIPCIE); dsp 506 sound/soc/intel/skylake/skl-sst-ipc.c hipct = sst_dsp_shim_read_unlocked(dsp, SKL_ADSP_REG_HIPCT); dsp 507 sound/soc/intel/skylake/skl-sst-ipc.c hipcte = sst_dsp_shim_read_unlocked(dsp, SKL_ADSP_REG_HIPCTE); dsp 511 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_shim_update_bits(dsp, SKL_ADSP_REG_HIPCCTL, dsp 515 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_shim_update_bits_forced(dsp, SKL_ADSP_REG_HIPCIE, dsp 521 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_shim_update_bits(dsp, SKL_ADSP_REG_HIPCCTL, dsp 529 sound/soc/intel/skylake/skl-sst-ipc.c dev_dbg(dsp->dev, "IPC irq: Firmware respond primary:%x\n", dsp 531 sound/soc/intel/skylake/skl-sst-ipc.c dev_dbg(dsp->dev, "IPC irq: Firmware respond extension:%x\n", dsp 538 sound/soc/intel/skylake/skl-sst-ipc.c dev_dbg(dsp->dev, "IPC irq: Notification from firmware\n"); dsp 542 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_shim_update_bits_forced(dsp, SKL_ADSP_REG_HIPCT, dsp 550 sound/soc/intel/skylake/skl-sst-ipc.c skl_ipc_int_enable(dsp); dsp 605 sound/soc/intel/skylake/skl-sst-ipc.c ipc->dsp = skl->dsp; dsp 625 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_shim_update_bits(ipc->dsp, SKL_ADSP_REG_HIPCCTL, dsp 629 sound/soc/intel/skylake/skl-sst-ipc.c sst_dsp_shim_update_bits(ipc->dsp, SKL_ADSP_REG_HIPCCTL, dsp 151 sound/soc/intel/skylake/skl-sst-ipc.h int skl_ipc_check_D0i0(struct sst_dsp *dsp, bool state); dsp 153 sound/soc/intel/skylake/skl-sst-ipc.h void skl_ipc_int_enable(struct sst_dsp *dsp); dsp 156 sound/soc/intel/skylake/skl-sst-ipc.h void skl_ipc_int_disable(struct sst_dsp *dsp); dsp 158 sound/soc/intel/skylake/skl-sst-ipc.h bool skl_ipc_int_status(struct sst_dsp *dsp); dsp 357 sound/soc/intel/skylake/skl-sst-utils.c struct skl_dsp_loader_ops dsp_ops, struct skl_dev **dsp, dsp 360 sound/soc/intel/skylake/skl-sst-utils.c struct skl_dev *skl = *dsp; dsp 366 sound/soc/intel/skylake/skl-sst-utils.c skl->dsp = skl_dsp_ctx_init(dev, skl_dev, irq); dsp 367 sound/soc/intel/skylake/skl-sst-utils.c if (!skl->dsp) { dsp 372 sound/soc/intel/skylake/skl-sst-utils.c sst = skl->dsp; dsp 388 sound/soc/intel/skylake/skl-sst-utils.c struct sst_dsp *dsp = skl->dsp; dsp 401 sound/soc/intel/skylake/skl-sst-utils.c ret = snd_skl_parse_uuids(dsp, linfo->fw, hdr_offset, index); dsp 521 sound/soc/intel/skylake/skl-sst.c struct skl_dev **dsp) dsp 527 sound/soc/intel/skylake/skl-sst.c ret = skl_sst_ctx_init(dev, irq, fw_name, dsp_ops, dsp, &skl_dev); dsp 533 sound/soc/intel/skylake/skl-sst.c skl = *dsp; dsp 534 sound/soc/intel/skylake/skl-sst.c sst = skl->dsp; dsp 560 sound/soc/intel/skylake/skl-sst.c struct sst_dsp *sst = skl->dsp; dsp 587 sound/soc/intel/skylake/skl-sst.c if (skl->dsp->fw) dsp 588 sound/soc/intel/skylake/skl-sst.c release_firmware(skl->dsp->fw); dsp 589 sound/soc/intel/skylake/skl-sst.c skl_clear_module_table(skl->dsp); dsp 592 sound/soc/intel/skylake/skl-sst.c skl->dsp->ops->free(skl->dsp); dsp 594 sound/soc/intel/skylake/skl-sst.c skl->dsp->cl_dev.ops.cl_cleanup_controller(skl->dsp); dsp 595 sound/soc/intel/skylake/skl-sst.c skl_cldma_int_disable(skl->dsp); dsp 495 sound/soc/intel/skylake/skl-topology.c if (mconfig->module->loadable && skl->dsp->fw_ops.load_mod) { dsp 496 sound/soc/intel/skylake/skl-topology.c ret = skl->dsp->fw_ops.load_mod(skl->dsp, dsp 524 sound/soc/intel/skylake/skl-topology.c ret = skl_dsp_get_core(skl->dsp, mconfig->core_id); dsp 544 sound/soc/intel/skylake/skl-topology.c skl_dsp_put_core(skl->dsp, mconfig->core_id); dsp 560 sound/soc/intel/skylake/skl-topology.c if (mconfig->module->loadable && skl->dsp->fw_ops.unload_mod && dsp 562 sound/soc/intel/skylake/skl-topology.c ret = skl->dsp->fw_ops.unload_mod(skl->dsp, dsp 569 sound/soc/intel/skylake/skl-topology.c ret = skl_dsp_put_core(skl->dsp, mconfig->core_id); dsp 2875 sound/soc/intel/skylake/skl-topology.c skl_clear_module_cnt(skl->dsp); dsp 91 sound/soc/intel/skylake/skl.h struct sst_dsp *dsp; dsp 186 sound/usb/usx2y/usX2Yhwdep.c struct snd_hwdep_dsp_image *dsp) dsp 193 sound/usb/usx2y/usX2Yhwdep.c snd_printdd( "dsp_load %s\n", dsp->name); dsp 195 sound/usb/usx2y/usX2Yhwdep.c buf = memdup_user(dsp->image, dsp->length); dsp 203 sound/usb/usx2y/usX2Yhwdep.c err = usb_bulk_msg(dev, usb_sndbulkpipe(dev, 2), buf, dsp->length, &lret, 6000); dsp 207 sound/usb/usx2y/usX2Yhwdep.c if (dsp->index == 1) {