Lines Matching refs:dsp

294 	struct sst_dsp *dsp = context;  in cnl_dsp_irq_thread_handler()  local
295 struct skl_dev *cnl = sst_dsp_get_thread_context(dsp); in cnl_dsp_irq_thread_handler()
302 if (!(dsp->intr_status & CNL_ADSPIS_IPC)) in cnl_dsp_irq_thread_handler()
305 hipcida = sst_dsp_shim_read_unlocked(dsp, CNL_ADSP_REG_HIPCIDA); in cnl_dsp_irq_thread_handler()
306 hipctdr = sst_dsp_shim_read_unlocked(dsp, CNL_ADSP_REG_HIPCTDR); in cnl_dsp_irq_thread_handler()
307 hipctdd = sst_dsp_shim_read_unlocked(dsp, CNL_ADSP_REG_HIPCTDD); in cnl_dsp_irq_thread_handler()
311 sst_dsp_shim_update_bits(dsp, CNL_ADSP_REG_HIPCCTL, in cnl_dsp_irq_thread_handler()
315 sst_dsp_shim_update_bits_forced(dsp, CNL_ADSP_REG_HIPCIDA, in cnl_dsp_irq_thread_handler()
321 sst_dsp_shim_update_bits(dsp, CNL_ADSP_REG_HIPCCTL, in cnl_dsp_irq_thread_handler()
329 dev_dbg(dsp->dev, "IPC irq: Firmware respond primary:%x", in cnl_dsp_irq_thread_handler()
331 dev_dbg(dsp->dev, "IPC irq: Firmware respond extension:%x", in cnl_dsp_irq_thread_handler()
338 dev_dbg(dsp->dev, "IPC irq: Notification from firmware\n"); in cnl_dsp_irq_thread_handler()
342 sst_dsp_shim_update_bits_forced(dsp, CNL_ADSP_REG_HIPCTDR, in cnl_dsp_irq_thread_handler()
346 sst_dsp_shim_update_bits_forced(dsp, CNL_ADSP_REG_HIPCTDA, in cnl_dsp_irq_thread_handler()
354 cnl_ipc_int_enable(dsp); in cnl_dsp_irq_thread_handler()
372 sst_dsp_outbox_write(ipc->dsp, msg->tx.data, msg->tx.size); in cnl_ipc_tx_msg()
373 sst_dsp_shim_write_unlocked(ipc->dsp, CNL_ADSP_REG_HIPCIDD, in cnl_ipc_tx_msg()
375 sst_dsp_shim_write_unlocked(ipc->dsp, CNL_ADSP_REG_HIPCIDR, in cnl_ipc_tx_msg()
379 static bool cnl_ipc_is_dsp_busy(struct sst_dsp *dsp) in cnl_ipc_is_dsp_busy() argument
383 hipcidr = sst_dsp_shim_read_unlocked(dsp, CNL_ADSP_REG_HIPCIDR); in cnl_ipc_is_dsp_busy()
394 ipc->dsp = cnl->dsp; in cnl_ipc_init()
417 struct skl_dev **dsp) in cnl_sst_dsp_init() argument
423 ret = skl_sst_ctx_init(dev, irq, fw_name, dsp_ops, dsp, &cnl_dev); in cnl_sst_dsp_init()
429 cnl = *dsp; in cnl_sst_dsp_init()
430 sst = cnl->dsp; in cnl_sst_dsp_init()
459 struct sst_dsp *sst = skl->dsp; in cnl_sst_init_fw()
461 ret = skl->dsp->fw_ops.load_fw(sst); in cnl_sst_init_fw()
477 if (skl->dsp->fw) in cnl_sst_dsp_cleanup()
478 release_firmware(skl->dsp->fw); in cnl_sst_dsp_cleanup()
483 skl->dsp->ops->free(skl->dsp); in cnl_sst_dsp_cleanup()