Lines Matching refs:dsp

282 	struct sst_dsp *dsp;  member
453 sst_dsp_read(hsw->dsp, &fw_ready, offset, sizeof(fw_ready)); in hsw_fw_ready()
455 sst_dsp_mailbox_init(hsw->dsp, fw_ready.inbox_offset, in hsw_fw_ready()
496 sst_dsp_inbox_read(hsw->dsp, glitch, sizeof(*glitch)); in hsw_notification_work()
506 sst_dsp_inbox_read(hsw->dsp, pos, sizeof(*pos)); in hsw_notification_work()
519 sst_dsp_shim_update_bits(hsw->dsp, SST_IPCD, in hsw_notification_work()
523 sst_dsp_shim_update_bits(hsw->dsp, SST_IMRX, SST_IMRX_BUSY, 0); in hsw_notification_work()
580 sst_dsp_inbox_read(hsw->dsp, msg->rx_data, in hsw_process_reply()
585 sst_dsp_outbox_read(hsw->dsp, msg->rx_data, in hsw_process_reply()
716 hsw->dsp, &stream->curr_pos, sizeof(stream->curr_pos)); in hsw_log_message()
726 struct sst_dsp *sst = hsw->dsp; in hsw_process_notification()
786 ipcx = sst_dsp_ipc_msg_rx(hsw->dsp); in hsw_irq_thread()
852 sst_dsp_read(hsw->dsp, volume, in sst_hsw_stream_get_volume()
917 sst_dsp_read(hsw->dsp, volume, in sst_hsw_mixer_get_volume()
983 struct sst_dsp *sst = hsw->dsp; in sst_hsw_stream_new()
1009 struct sst_dsp *sst = hsw->dsp; in sst_hsw_stream_free()
1164 struct sst_dsp *dsp = sst_hsw_get_dsp(hsw); in sst_hsw_stream_set_module_info() local
1178 sst_dsp_get_offset(dsp, runtime->persistent_offset, SST_MEM_DRAM); in sst_hsw_stream_set_module_info()
1182 sst_dsp_get_offset(dsp, dsp->scratch_offset, SST_MEM_DRAM); in sst_hsw_stream_set_module_info()
1183 stream->request.scratch_mem.size = dsp->scratch_size; in sst_hsw_stream_set_module_info()
1377 sst_dsp_read(hsw->dsp, &rpos, in sst_hsw_get_dsp_position()
1389 sst_dsp_read(hsw->dsp, &ppos, in sst_hsw_get_dsp_presentation_position()
1464 struct sst_dsp *dsp = hsw->dsp; in sst_hsw_runtime_module_create() local
1469 module = sst_module_get_from_id(dsp, mod_id); in sst_hsw_runtime_module_create()
1471 dev_err(dsp->dev, "error: failed to get module %d for pcm\n", in sst_hsw_runtime_module_create()
1478 dev_err(dsp->dev, "error: failed to create module %d runtime\n", in sst_hsw_runtime_module_create()
1485 dev_err(dsp->dev, "error: failed to alloc blocks for module %d runtime\n", in sst_hsw_runtime_module_create()
1491 dev_dbg(dsp->dev, "runtime id %d created for module %d\n", runtime->id, in sst_hsw_runtime_module_create()
1505 struct sst_dsp *sst = hsw->dsp; in sst_hsw_dx_state_dump()
1558 struct sst_dsp *sst = hsw->dsp; in sst_hsw_dx_state_restore()
1587 struct sst_dsp *dsp = hsw->dsp; in sst_hsw_dsp_load() local
1593 ret = sst_dsp_wake(dsp); in sst_hsw_dsp_load()
1599 ret = sst_dsp_dma_get_channel(dsp, 0); in sst_hsw_dsp_load()
1605 list_for_each_entry_safe_reverse(sst_fw, t, &dsp->fw_list, list) { in sst_hsw_dsp_load()
1609 sst_dsp_dma_put_channel(dsp); in sst_hsw_dsp_load()
1613 ret = sst_block_alloc_scratch(hsw->dsp); in sst_hsw_dsp_load()
1617 sst_dsp_dma_put_channel(dsp); in sst_hsw_dsp_load()
1623 struct sst_dsp *dsp = hsw->dsp; in sst_hsw_dsp_restore() local
1628 ret = sst_dsp_dma_get_channel(dsp, 0); in sst_hsw_dsp_restore()
1637 sst_dsp_dma_put_channel(dsp); in sst_hsw_dsp_restore()
1640 sst_dsp_dma_put_channel(dsp); in sst_hsw_dsp_restore()
1643 sst_dsp_boot(dsp); in sst_hsw_dsp_restore()
1658 sst_dsp_stall(hsw->dsp); in sst_hsw_dsp_runtime_suspend()
1672 struct sst_dsp *dsp = hsw->dsp; in sst_hsw_dsp_runtime_sleep() local
1674 list_for_each_entry_safe(sst_fw, t, &dsp->fw_list, list) { in sst_hsw_dsp_runtime_sleep()
1677 sst_block_free_scratch(dsp); in sst_hsw_dsp_runtime_sleep()
1681 sst_dsp_sleep(dsp); in sst_hsw_dsp_runtime_sleep()
1706 sst_dsp_shim_read_unlocked(hsw->dsp, SST_IPCD), in sst_hsw_dsp_runtime_resume()
1707 sst_dsp_shim_read_unlocked(hsw->dsp, SST_IPCX)); in sst_hsw_dsp_runtime_resume()
1724 return hsw->dsp; in sst_hsw_get_dsp()
1734 module = sst_module_get_from_id(hsw->dsp, id); in sst_hsw_init_module_state()
1749 module = sst_module_get_from_id(hsw->dsp, module_id); in sst_hsw_is_module_loaded()
1760 module = sst_module_get_from_id(hsw->dsp, module_id); in sst_hsw_is_module_active()
1851 struct sst_dsp *dsp = hsw->dsp; in sst_hsw_module_load() local
1855 module = sst_module_get_from_id(dsp, module_id); in sst_hsw_module_load()
1860 fw = dsp->pdata->fw; in sst_hsw_module_load()
1876 hsw_sst_fw = sst_fw_new(dsp, fw, hsw); in sst_hsw_module_load()
1882 module = sst_module_get_from_id(dsp, module_id); in sst_hsw_module_load()
1907 struct sst_dsp *dsp = hsw->dsp; in sst_hsw_module_enable() local
1919 module = sst_module_get_from_id(dsp, module_id); in sst_hsw_module_enable()
1941 sst_dsp_get_offset(dsp, in sst_hsw_module_enable()
1946 sst_dsp_get_offset(dsp, in sst_hsw_module_enable()
1947 dsp->scratch_offset, SST_MEM_DRAM); in sst_hsw_module_enable()
1973 struct sst_dsp *dsp = hsw->dsp; in sst_hsw_module_disable() local
1985 module = sst_module_get_from_id(dsp, module_id); in sst_hsw_module_disable()
2057 dma_free_coherent(hsw->dsp->dma_dev, in sst_hsw_module_set_param()
2071 sst_dsp_outbox_write(ipc->dsp, msg->tx_data, msg->tx_size); in hsw_tx_msg()
2072 sst_dsp_ipc_msg_tx(ipc->dsp, msg->header); in hsw_tx_msg()
2077 struct sst_dsp *sst = ipc->dsp; in hsw_shim_dbg()
2105 static bool hsw_is_dsp_busy(struct sst_dsp *dsp) in hsw_is_dsp_busy() argument
2109 ipcx = sst_dsp_shim_read_unlocked(dsp, SST_IPCX); in hsw_is_dsp_busy()
2148 hsw->dsp = sst_dsp_new(dev, &hsw_dev, pdata); in sst_hsw_dsp_init()
2149 if (hsw->dsp == NULL) { in sst_hsw_dsp_init()
2154 ipc->dsp = hsw->dsp; in sst_hsw_dsp_init()
2157 hsw->dx_context = dma_alloc_coherent(hsw->dsp->dma_dev, in sst_hsw_dsp_init()
2165 sst_dsp_reset(hsw->dsp); in sst_hsw_dsp_init()
2176 ret = sst_block_alloc_scratch(hsw->dsp); in sst_hsw_dsp_init()
2184 sst_dsp_boot(hsw->dsp); in sst_hsw_dsp_init()
2190 sst_dsp_shim_read_unlocked(hsw->dsp, SST_IPCD), in sst_hsw_dsp_init()
2191 sst_dsp_shim_read_unlocked(hsw->dsp, SST_IPCX)); in sst_hsw_dsp_init()
2208 pdata->dsp = hsw; in sst_hsw_dsp_init()
2212 sst_dsp_reset(hsw->dsp); in sst_hsw_dsp_init()
2213 sst_fw_free_all(hsw->dsp); in sst_hsw_dsp_init()
2215 dma_free_coherent(hsw->dsp->dma_dev, SST_HSW_DX_CONTEXT_SIZE, in sst_hsw_dsp_init()
2218 sst_dsp_free(hsw->dsp); in sst_hsw_dsp_init()
2228 struct sst_hsw *hsw = pdata->dsp; in sst_hsw_dsp_free()
2230 sst_dsp_reset(hsw->dsp); in sst_hsw_dsp_free()
2231 sst_fw_free_all(hsw->dsp); in sst_hsw_dsp_free()
2232 dma_free_coherent(hsw->dsp->dma_dev, SST_HSW_DX_CONTEXT_SIZE, in sst_hsw_dsp_free()
2234 sst_dsp_free(hsw->dsp); in sst_hsw_dsp_free()