sst_drv_ctx 430 sound/soc/intel/atom/sst/sst.h int sst_realloc_stream(struct intel_sst_drv *sst_drv_ctx, int str_id); sst_drv_ctx 431 sound/soc/intel/atom/sst/sst.h int sst_pause_stream(struct intel_sst_drv *sst_drv_ctx, int id); sst_drv_ctx 432 sound/soc/intel/atom/sst/sst.h int sst_resume_stream(struct intel_sst_drv *sst_drv_ctx, int id); sst_drv_ctx 433 sound/soc/intel/atom/sst/sst.h int sst_drop_stream(struct intel_sst_drv *sst_drv_ctx, int id); sst_drv_ctx 434 sound/soc/intel/atom/sst/sst.h int sst_free_stream(struct intel_sst_drv *sst_drv_ctx, int id); sst_drv_ctx 435 sound/soc/intel/atom/sst/sst.h int sst_start_stream(struct intel_sst_drv *sst_drv_ctx, int str_id); sst_drv_ctx 440 sound/soc/intel/atom/sst/sst.h int sst_get_stream(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 445 sound/soc/intel/atom/sst/sst.h int sst_drain_stream(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 457 sound/soc/intel/atom/sst/sst.h int sst_get_block_stream(struct intel_sst_drv *sst_drv_ctx); sst_drv_ctx 460 sound/soc/intel/atom/sst/sst.h int sst_wait_interruptible(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 462 sound/soc/intel/atom/sst/sst.h int sst_wait_timeout(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 473 sound/soc/intel/atom/sst/sst.h int sst_alloc_stream_mrfld(struct intel_sst_drv *sst_drv_ctx, void *params); sst_drv_ctx 478 sound/soc/intel/atom/sst/sst.h struct intel_sst_drv *sst_drv_ctx, struct sst_block **block, sst_drv_ctx 493 sound/soc/intel/atom/sst/sst.h int sst_assign_pvt_id(struct intel_sst_drv *sst_drv_ctx); sst_drv_ctx 494 sound/soc/intel/atom/sst/sst.h int sst_validate_strid(struct intel_sst_drv *sst_drv_ctx, int str_id); sst_drv_ctx 495 sound/soc/intel/atom/sst/sst.h struct stream_info *get_stream_info(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 497 sound/soc/intel/atom/sst/sst.h int get_stream_id_mrfld(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 509 sound/soc/intel/atom/sst/sst.h struct intel_sst_drv *sst_drv_ctx, int sst_state); sst_drv_ctx 116 sound/soc/intel/atom/sst/sst_ipc.c int sst_post_message_mrfld(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 125 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, "Enter: sync: %d\n", sync); sst_drv_ctx 126 sound/soc/intel/atom/sst/sst_ipc.c spin_lock_irqsave(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_drv_ctx 127 sound/soc/intel/atom/sst/sst_ipc.c header.full = sst_shim_read64(sst_drv_ctx->shim, SST_IPCX); sst_drv_ctx 131 sound/soc/intel/atom/sst/sst_ipc.c dev_err(sst_drv_ctx->dev, sst_drv_ctx 138 sound/soc/intel/atom/sst/sst_ipc.c header.full = sst_shim_read64(sst_drv_ctx->shim, SST_IPCX); sst_drv_ctx 141 sound/soc/intel/atom/sst/sst_ipc.c if (list_empty(&sst_drv_ctx->ipc_dispatch_list)) { sst_drv_ctx 143 sound/soc/intel/atom/sst/sst_ipc.c spin_unlock_irqrestore(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_drv_ctx 144 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, sst_drv_ctx 150 sound/soc/intel/atom/sst/sst_ipc.c spin_unlock_irqrestore(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_drv_ctx 151 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, "Busy not free... post later\n"); sst_drv_ctx 156 sound/soc/intel/atom/sst/sst_ipc.c msg = list_entry(sst_drv_ctx->ipc_dispatch_list.next, sst_drv_ctx 160 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, "sst: Post message: header = %x\n", sst_drv_ctx 162 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, "sst: size = 0x%x\n", sst_drv_ctx 166 sound/soc/intel/atom/sst/sst_ipc.c memcpy_toio(sst_drv_ctx->mailbox + SST_MAILBOX_SEND, sst_drv_ctx 170 sound/soc/intel/atom/sst/sst_ipc.c sst_shim_write64(sst_drv_ctx->shim, SST_IPCX, msg->mrfld_header.full); sst_drv_ctx 173 sound/soc/intel/atom/sst/sst_ipc.c spin_unlock_irqrestore(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_drv_ctx 179 sound/soc/intel/atom/sst/sst_ipc.c void intel_sst_clear_intr_mrfld(struct intel_sst_drv *sst_drv_ctx) sst_drv_ctx 186 sound/soc/intel/atom/sst/sst_ipc.c spin_lock_irqsave(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_drv_ctx 187 sound/soc/intel/atom/sst/sst_ipc.c imr.full = sst_shim_read64(sst_drv_ctx->shim, SST_IMRX); sst_drv_ctx 188 sound/soc/intel/atom/sst/sst_ipc.c isr.full = sst_shim_read64(sst_drv_ctx->shim, SST_ISRX); sst_drv_ctx 192 sound/soc/intel/atom/sst/sst_ipc.c sst_shim_write64(sst_drv_ctx->shim, SST_ISRX, isr.full); sst_drv_ctx 195 sound/soc/intel/atom/sst/sst_ipc.c clear_ipc.full = sst_shim_read64(sst_drv_ctx->shim, SST_IPCD); sst_drv_ctx 200 sound/soc/intel/atom/sst/sst_ipc.c sst_shim_write64(sst_drv_ctx->shim, SST_IPCD, clear_ipc.full); sst_drv_ctx 203 sound/soc/intel/atom/sst/sst_ipc.c sst_shim_write64(sst_drv_ctx->shim, SST_IMRX, imr.full); sst_drv_ctx 204 sound/soc/intel/atom/sst/sst_ipc.c spin_unlock_irqrestore(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_drv_ctx 216 sound/soc/intel/atom/sst/sst_ipc.c static void process_fw_init(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 223 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, "*** FW Init msg came***\n"); sst_drv_ctx 225 sound/soc/intel/atom/sst/sst_ipc.c sst_set_fw_state_locked(sst_drv_ctx, SST_RESET); sst_drv_ctx 226 sound/soc/intel/atom/sst/sst_ipc.c dev_err(sst_drv_ctx->dev, "FW Init failed, Error %x\n", sst_drv_ctx 231 sound/soc/intel/atom/sst/sst_ipc.c if (memcmp(&sst_drv_ctx->fw_version, &init->fw_version, sst_drv_ctx 233 sound/soc/intel/atom/sst/sst_ipc.c dev_info(sst_drv_ctx->dev, "FW Version %02x.%02x.%02x.%02x\n", sst_drv_ctx 236 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, "Build date %s Time %s\n", sst_drv_ctx 240 sound/soc/intel/atom/sst/sst_ipc.c sst_drv_ctx->fw_version.type = init->fw_version.type; sst_drv_ctx 241 sound/soc/intel/atom/sst/sst_ipc.c sst_drv_ctx->fw_version.major = init->fw_version.major; sst_drv_ctx 242 sound/soc/intel/atom/sst/sst_ipc.c sst_drv_ctx->fw_version.minor = init->fw_version.minor; sst_drv_ctx 243 sound/soc/intel/atom/sst/sst_ipc.c sst_drv_ctx->fw_version.build = init->fw_version.build; sst_drv_ctx 246 sound/soc/intel/atom/sst/sst_ipc.c sst_wake_up_block(sst_drv_ctx, retval, FW_DWNL_ID, 0 , NULL, 0); sst_drv_ctx 249 sound/soc/intel/atom/sst/sst_ipc.c static void process_fw_async_msg(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 267 sound/soc/intel/atom/sst/sst_ipc.c str_id = get_stream_id_mrfld(sst_drv_ctx, pipe_id); sst_drv_ctx 269 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, sst_drv_ctx 272 sound/soc/intel/atom/sst/sst_ipc.c stream = &sst_drv_ctx->streams[str_id]; sst_drv_ctx 285 sound/soc/intel/atom/sst/sst_ipc.c str_id = get_stream_id_mrfld(sst_drv_ctx, pipe_id); sst_drv_ctx 287 sound/soc/intel/atom/sst/sst_ipc.c stream = &sst_drv_ctx->streams[str_id]; sst_drv_ctx 294 sound/soc/intel/atom/sst/sst_ipc.c dev_err(sst_drv_ctx->dev, "FW sent async error msg:\n"); sst_drv_ctx 301 sound/soc/intel/atom/sst/sst_ipc.c process_fw_init(sst_drv_ctx, data_offset); sst_drv_ctx 306 sound/soc/intel/atom/sst/sst_ipc.c str_id = get_stream_id_mrfld(sst_drv_ctx, pipe_id); sst_drv_ctx 308 sound/soc/intel/atom/sst/sst_ipc.c dev_err(sst_drv_ctx->dev, sst_drv_ctx 314 sound/soc/intel/atom/sst/sst_ipc.c dev_err(sst_drv_ctx->dev, sst_drv_ctx 319 sound/soc/intel/atom/sst/sst_ipc.c void sst_process_reply_mrfld(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 331 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, "IPC process message header %x payload %x\n", sst_drv_ctx 340 sound/soc/intel/atom/sst/sst_ipc.c process_fw_async_msg(sst_drv_ctx, msg); sst_drv_ctx 347 sound/soc/intel/atom/sst/sst_ipc.c dev_err(sst_drv_ctx->dev, "FW sent error response 0x%x", msg_low); sst_drv_ctx 348 sound/soc/intel/atom/sst/sst_ipc.c sst_wake_up_block(sst_drv_ctx, msg_high.part.result, sst_drv_ctx 365 sound/soc/intel/atom/sst/sst_ipc.c dev_dbg(sst_drv_ctx->dev, "cmd_id %d\n", dsp_hdr->cmd_id); sst_drv_ctx 366 sound/soc/intel/atom/sst/sst_ipc.c if (sst_wake_up_block(sst_drv_ctx, msg_high.part.result, sst_drv_ctx 371 sound/soc/intel/atom/sst/sst_ipc.c sst_wake_up_block(sst_drv_ctx, msg_high.part.result, sst_drv_ctx 55 sound/soc/intel/atom/sst/sst_loader.c int intel_sst_reset_dsp_mrfld(struct intel_sst_drv *sst_drv_ctx) sst_drv_ctx 59 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "sst: Resetting the DSP in mrfld\n"); sst_drv_ctx 60 sound/soc/intel/atom/sst/sst_loader.c csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); sst_drv_ctx 62 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); sst_drv_ctx 65 sound/soc/intel/atom/sst/sst_loader.c sst_shim_write64(sst_drv_ctx->shim, SST_CSR, csr.full); sst_drv_ctx 66 sound/soc/intel/atom/sst/sst_loader.c csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); sst_drv_ctx 68 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); sst_drv_ctx 71 sound/soc/intel/atom/sst/sst_loader.c sst_shim_write64(sst_drv_ctx->shim, SST_CSR, csr.full); sst_drv_ctx 73 sound/soc/intel/atom/sst/sst_loader.c csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); sst_drv_ctx 74 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); sst_drv_ctx 83 sound/soc/intel/atom/sst/sst_loader.c int sst_start_mrfld(struct intel_sst_drv *sst_drv_ctx) sst_drv_ctx 87 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "sst: Starting the DSP in mrfld LALALALA\n"); sst_drv_ctx 88 sound/soc/intel/atom/sst/sst_loader.c csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); sst_drv_ctx 89 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); sst_drv_ctx 92 sound/soc/intel/atom/sst/sst_loader.c sst_shim_write64(sst_drv_ctx->shim, SST_CSR, csr.full); sst_drv_ctx 94 sound/soc/intel/atom/sst/sst_loader.c csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); sst_drv_ctx 95 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); sst_drv_ctx 99 sound/soc/intel/atom/sst/sst_loader.c sst_shim_write64(sst_drv_ctx->shim, SST_CSR, csr.full); sst_drv_ctx 101 sound/soc/intel/atom/sst/sst_loader.c csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); sst_drv_ctx 102 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "sst: Starting the DSP_merrifield:%llx\n", sst_drv_ctx 172 sound/soc/intel/atom/sst/sst_loader.c static int sst_parse_module_memcpy(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 180 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "module sign %s size %x blocks %x type %x\n", sst_drv_ctx 183 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "module entrypoint 0x%x\n", module->entry_point); sst_drv_ctx 189 sound/soc/intel/atom/sst/sst_loader.c dev_err(sst_drv_ctx->dev, "block size invalid\n"); sst_drv_ctx 194 sound/soc/intel/atom/sst/sst_loader.c ram_iomem = sst_drv_ctx->iram; sst_drv_ctx 197 sound/soc/intel/atom/sst/sst_loader.c ram_iomem = sst_drv_ctx->dram; sst_drv_ctx 200 sound/soc/intel/atom/sst/sst_loader.c ram_iomem = sst_drv_ctx->ddr; sst_drv_ctx 206 sound/soc/intel/atom/sst/sst_loader.c dev_err(sst_drv_ctx->dev, "wrong ram type0x%x in block0x%x\n", sst_drv_ctx 272 sound/soc/intel/atom/sst/sst_loader.c void sst_memcpy_free_resources(struct intel_sst_drv *sst_drv_ctx) sst_drv_ctx 277 sound/soc/intel/atom/sst/sst_loader.c if (!list_empty(&sst_drv_ctx->memcpy_list)) { sst_drv_ctx 279 sound/soc/intel/atom/sst/sst_loader.c &sst_drv_ctx->memcpy_list, memcpylist) { sst_drv_ctx 392 sound/soc/intel/atom/sst/sst_loader.c int sst_load_fw(struct intel_sst_drv *sst_drv_ctx) sst_drv_ctx 397 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "sst_load_fw\n"); sst_drv_ctx 399 sound/soc/intel/atom/sst/sst_loader.c if (sst_drv_ctx->sst_state != SST_RESET || sst_drv_ctx 400 sound/soc/intel/atom/sst/sst_loader.c sst_drv_ctx->sst_state == SST_SHUTDOWN) sst_drv_ctx 403 sound/soc/intel/atom/sst/sst_loader.c if (!sst_drv_ctx->fw_in_mem) { sst_drv_ctx 404 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "sst: FW not in memory retry to download\n"); sst_drv_ctx 405 sound/soc/intel/atom/sst/sst_loader.c ret_val = sst_request_fw(sst_drv_ctx); sst_drv_ctx 410 sound/soc/intel/atom/sst/sst_loader.c block = sst_create_block(sst_drv_ctx, 0, FW_DWNL_ID); sst_drv_ctx 415 sound/soc/intel/atom/sst/sst_loader.c pm_qos_update_request(sst_drv_ctx->qos, 0); sst_drv_ctx 417 sound/soc/intel/atom/sst/sst_loader.c sst_drv_ctx->sst_state = SST_FW_LOADING; sst_drv_ctx 419 sound/soc/intel/atom/sst/sst_loader.c ret_val = sst_drv_ctx->ops->reset(sst_drv_ctx); sst_drv_ctx 423 sound/soc/intel/atom/sst/sst_loader.c sst_do_memcpy(&sst_drv_ctx->memcpy_list); sst_drv_ctx 426 sound/soc/intel/atom/sst/sst_loader.c if (sst_drv_ctx->ops->post_download) sst_drv_ctx 427 sound/soc/intel/atom/sst/sst_loader.c sst_drv_ctx->ops->post_download(sst_drv_ctx); sst_drv_ctx 430 sound/soc/intel/atom/sst/sst_loader.c ret_val = sst_drv_ctx->ops->start(sst_drv_ctx); sst_drv_ctx 434 sound/soc/intel/atom/sst/sst_loader.c ret_val = sst_wait_timeout(sst_drv_ctx, block); sst_drv_ctx 436 sound/soc/intel/atom/sst/sst_loader.c dev_err(sst_drv_ctx->dev, "fw download failed %d\n" , ret_val); sst_drv_ctx 445 sound/soc/intel/atom/sst/sst_loader.c pm_qos_update_request(sst_drv_ctx->qos, PM_QOS_DEFAULT_VALUE); sst_drv_ctx 446 sound/soc/intel/atom/sst/sst_loader.c sst_free_block(sst_drv_ctx, block); sst_drv_ctx 447 sound/soc/intel/atom/sst/sst_loader.c dev_dbg(sst_drv_ctx->dev, "fw load successful!!!\n"); sst_drv_ctx 449 sound/soc/intel/atom/sst/sst_loader.c if (sst_drv_ctx->ops->restore_dsp_context) sst_drv_ctx 450 sound/soc/intel/atom/sst/sst_loader.c sst_drv_ctx->ops->restore_dsp_context(); sst_drv_ctx 451 sound/soc/intel/atom/sst/sst_loader.c sst_drv_ctx->sst_state = SST_FW_RUNNING; sst_drv_ctx 116 sound/soc/intel/atom/sst/sst_pci.c struct intel_sst_drv *sst_drv_ctx; sst_drv_ctx 120 sound/soc/intel/atom/sst/sst_pci.c ret = sst_alloc_drv_context(&sst_drv_ctx, &pci->dev, pci->device); sst_drv_ctx 124 sound/soc/intel/atom/sst/sst_pci.c sst_drv_ctx->pdata = sst_pdata; sst_drv_ctx 125 sound/soc/intel/atom/sst/sst_pci.c sst_drv_ctx->irq_num = pci->irq; sst_drv_ctx 126 sound/soc/intel/atom/sst/sst_pci.c snprintf(sst_drv_ctx->firmware_name, sizeof(sst_drv_ctx->firmware_name), sst_drv_ctx 128 sound/soc/intel/atom/sst/sst_pci.c sst_drv_ctx->dev_id, ".bin"); sst_drv_ctx 130 sound/soc/intel/atom/sst/sst_pci.c ret = sst_context_init(sst_drv_ctx); sst_drv_ctx 137 sound/soc/intel/atom/sst/sst_pci.c dev_err(sst_drv_ctx->dev, sst_drv_ctx 141 sound/soc/intel/atom/sst/sst_pci.c sst_drv_ctx->pci = pci_dev_get(pci); sst_drv_ctx 142 sound/soc/intel/atom/sst/sst_pci.c ret = sst_platform_get_resources(sst_drv_ctx); sst_drv_ctx 146 sound/soc/intel/atom/sst/sst_pci.c pci_set_drvdata(pci, sst_drv_ctx); sst_drv_ctx 147 sound/soc/intel/atom/sst/sst_pci.c sst_configure_runtime_pm(sst_drv_ctx); sst_drv_ctx 152 sound/soc/intel/atom/sst/sst_pci.c sst_context_cleanup(sst_drv_ctx); sst_drv_ctx 153 sound/soc/intel/atom/sst/sst_pci.c dev_err(sst_drv_ctx->dev, "Probe failed with %d\n", ret); sst_drv_ctx 167 sound/soc/intel/atom/sst/sst_pci.c struct intel_sst_drv *sst_drv_ctx = pci_get_drvdata(pci); sst_drv_ctx 169 sound/soc/intel/atom/sst/sst_pci.c sst_context_cleanup(sst_drv_ctx); sst_drv_ctx 170 sound/soc/intel/atom/sst/sst_pci.c pci_dev_put(sst_drv_ctx->pci); sst_drv_ctx 66 sound/soc/intel/atom/sst/sst_pvt.c struct intel_sst_drv *sst_drv_ctx, int sst_state) sst_drv_ctx 68 sound/soc/intel/atom/sst/sst_pvt.c mutex_lock(&sst_drv_ctx->sst_lock); sst_drv_ctx 69 sound/soc/intel/atom/sst/sst_pvt.c sst_drv_ctx->sst_state = sst_state; sst_drv_ctx 70 sound/soc/intel/atom/sst/sst_pvt.c mutex_unlock(&sst_drv_ctx->sst_lock); sst_drv_ctx 82 sound/soc/intel/atom/sst/sst_pvt.c int sst_wait_interruptible(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 87 sound/soc/intel/atom/sst/sst_pvt.c if (!wait_event_interruptible(sst_drv_ctx->wait_queue, sst_drv_ctx 91 sound/soc/intel/atom/sst/sst_pvt.c dev_err(sst_drv_ctx->dev, sst_drv_ctx 95 sound/soc/intel/atom/sst/sst_pvt.c dev_dbg(sst_drv_ctx->dev, "event up\n"); sst_drv_ctx 99 sound/soc/intel/atom/sst/sst_pvt.c dev_err(sst_drv_ctx->dev, "signal interrupted\n"); sst_drv_ctx 115 sound/soc/intel/atom/sst/sst_pvt.c int sst_wait_timeout(struct intel_sst_drv *sst_drv_ctx, struct sst_block *block) sst_drv_ctx 124 sound/soc/intel/atom/sst/sst_pvt.c dev_dbg(sst_drv_ctx->dev, sst_drv_ctx 127 sound/soc/intel/atom/sst/sst_pvt.c if (wait_event_timeout(sst_drv_ctx->wait_queue, sst_drv_ctx 131 sound/soc/intel/atom/sst/sst_pvt.c dev_dbg(sst_drv_ctx->dev, "Event wake %x\n", sst_drv_ctx 133 sound/soc/intel/atom/sst/sst_pvt.c dev_dbg(sst_drv_ctx->dev, "message ret: %d\n", sst_drv_ctx 138 sound/soc/intel/atom/sst/sst_pvt.c dev_err(sst_drv_ctx->dev, sst_drv_ctx 140 sound/soc/intel/atom/sst/sst_pvt.c block->condition, block->msg_id, sst_drv_ctx->sst_state); sst_drv_ctx 141 sound/soc/intel/atom/sst/sst_pvt.c sst_drv_ctx->sst_state = SST_RESET; sst_drv_ctx 188 sound/soc/intel/atom/sst/sst_pvt.c struct intel_sst_drv *sst_drv_ctx, struct sst_block **block, sst_drv_ctx 196 sound/soc/intel/atom/sst/sst_pvt.c *block = sst_create_block(sst_drv_ctx, msg_id, drv_id); sst_drv_ctx 356 sound/soc/intel/atom/sst/sst_pvt.c struct intel_sst_drv *sst_drv_ctx, int str_id) sst_drv_ctx 358 sound/soc/intel/atom/sst/sst_pvt.c if (str_id <= 0 || str_id > sst_drv_ctx->info.max_streams) { sst_drv_ctx 359 sound/soc/intel/atom/sst/sst_pvt.c dev_err(sst_drv_ctx->dev, sst_drv_ctx 361 sound/soc/intel/atom/sst/sst_pvt.c str_id, sst_drv_ctx->info.max_streams); sst_drv_ctx 369 sound/soc/intel/atom/sst/sst_pvt.c struct intel_sst_drv *sst_drv_ctx, int str_id) sst_drv_ctx 371 sound/soc/intel/atom/sst/sst_pvt.c if (sst_validate_strid(sst_drv_ctx, str_id)) sst_drv_ctx 373 sound/soc/intel/atom/sst/sst_pvt.c return &sst_drv_ctx->streams[str_id]; sst_drv_ctx 376 sound/soc/intel/atom/sst/sst_pvt.c int get_stream_id_mrfld(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 381 sound/soc/intel/atom/sst/sst_pvt.c for (i = 1; i <= sst_drv_ctx->info.max_streams; i++) sst_drv_ctx 382 sound/soc/intel/atom/sst/sst_pvt.c if (pipe_id == sst_drv_ctx->streams[i].pipe_id) sst_drv_ctx 385 sound/soc/intel/atom/sst/sst_pvt.c dev_dbg(sst_drv_ctx->dev, "no such pipe_id(%u)", pipe_id); sst_drv_ctx 28 sound/soc/intel/atom/sst/sst_stream.c int sst_alloc_stream_mrfld(struct intel_sst_drv *sst_drv_ctx, void *params) sst_drv_ctx 36 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "Enter\n"); sst_drv_ctx 40 sound/soc/intel/atom/sst/sst_stream.c str_info = get_stream_info(sst_drv_ctx, str_id); sst_drv_ctx 72 sound/soc/intel/atom/sst/sst_stream.c sst_drv_ctx->streams[str_id].status = STREAM_INIT; sst_drv_ctx 73 sound/soc/intel/atom/sst/sst_stream.c sst_drv_ctx->streams[str_id].prev = STREAM_UN_INIT; sst_drv_ctx 74 sound/soc/intel/atom/sst/sst_stream.c sst_drv_ctx->streams[str_id].pipe_id = str_params->device_type; sst_drv_ctx 75 sound/soc/intel/atom/sst/sst_stream.c sst_drv_ctx->streams[str_id].task_id = str_params->task; sst_drv_ctx 76 sound/soc/intel/atom/sst/sst_stream.c sst_drv_ctx->streams[str_id].num_ch = num_ch; sst_drv_ctx 78 sound/soc/intel/atom/sst/sst_stream.c if (sst_drv_ctx->info.lpe_viewpt_rqd) sst_drv_ctx 79 sound/soc/intel/atom/sst/sst_stream.c str_info->alloc_param.ts = sst_drv_ctx->info.mailbox_start + sst_drv_ctx 80 sound/soc/intel/atom/sst/sst_stream.c sst_drv_ctx->tstamp + (str_id * sizeof(fw_tstamp)); sst_drv_ctx 82 sound/soc/intel/atom/sst/sst_stream.c str_info->alloc_param.ts = sst_drv_ctx->mailbox_add + sst_drv_ctx 83 sound/soc/intel/atom/sst/sst_stream.c sst_drv_ctx->tstamp + (str_id * sizeof(fw_tstamp)); sst_drv_ctx 85 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "alloc tstamp location = 0x%x\n", sst_drv_ctx 87 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "assigned pipe id 0x%x to task %d\n", sst_drv_ctx 90 sound/soc/intel/atom/sst/sst_stream.c return sst_realloc_stream(sst_drv_ctx, str_id); sst_drv_ctx 102 sound/soc/intel/atom/sst/sst_stream.c int sst_realloc_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_drv_ctx 109 sound/soc/intel/atom/sst/sst_stream.c str_info = get_stream_info(sst_drv_ctx, str_id); sst_drv_ctx 113 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "Alloc for str %d pipe %#x\n", sst_drv_ctx 116 sound/soc/intel/atom/sst/sst_stream.c ret = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, IPC_CMD, sst_drv_ctx 122 sound/soc/intel/atom/sst/sst_stream.c dev_err(sst_drv_ctx->dev, "FW alloc failed ret %d\n", ret); sst_drv_ctx 131 sound/soc/intel/atom/sst/sst_stream.c dev_err(sst_drv_ctx->dev, "FW alloc failed ret %d\n", ret); sst_drv_ctx 133 sound/soc/intel/atom/sst/sst_stream.c dev_err(sst_drv_ctx->dev, sst_drv_ctx 135 sound/soc/intel/atom/sst/sst_stream.c sst_free_stream(sst_drv_ctx, str_id); sst_drv_ctx 151 sound/soc/intel/atom/sst/sst_stream.c int sst_start_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_drv_ctx 157 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "sst_start_stream for %d\n", str_id); sst_drv_ctx 158 sound/soc/intel/atom/sst/sst_stream.c str_info = get_stream_info(sst_drv_ctx, str_id); sst_drv_ctx 164 sound/soc/intel/atom/sst/sst_stream.c retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, sst_drv_ctx 171 sound/soc/intel/atom/sst/sst_stream.c int sst_send_byte_stream_mrfld(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 178 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, sst_drv_ctx 186 sound/soc/intel/atom/sst/sst_stream.c pvt_id = sst_assign_pvt_id(sst_drv_ctx); sst_drv_ctx 192 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "length is %d\n", length); sst_drv_ctx 195 sound/soc/intel/atom/sst/sst_stream.c block = sst_create_block(sst_drv_ctx, bytes->ipc_msg, pvt_id); sst_drv_ctx 203 sound/soc/intel/atom/sst/sst_stream.c sst_add_to_dispatch_list_and_post(sst_drv_ctx, msg); sst_drv_ctx 204 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "msg->mrfld_header.p.header_low_payload:%d", sst_drv_ctx 208 sound/soc/intel/atom/sst/sst_stream.c ret = sst_wait_timeout(sst_drv_ctx, block); sst_drv_ctx 210 sound/soc/intel/atom/sst/sst_stream.c dev_err(sst_drv_ctx->dev, "fw returned err %d\n", ret); sst_drv_ctx 211 sound/soc/intel/atom/sst/sst_stream.c sst_free_block(sst_drv_ctx, block); sst_drv_ctx 223 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "read back %d bytes", sst_drv_ctx 229 sound/soc/intel/atom/sst/sst_stream.c sst_free_block(sst_drv_ctx, block); sst_drv_ctx 231 sound/soc/intel/atom/sst/sst_stream.c test_and_clear_bit(pvt_id, &sst_drv_ctx->pvt_id); sst_drv_ctx 242 sound/soc/intel/atom/sst/sst_stream.c int sst_pause_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_drv_ctx 247 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_pause_stream for %d\n", str_id); sst_drv_ctx 248 sound/soc/intel/atom/sst/sst_stream.c str_info = get_stream_info(sst_drv_ctx, str_id); sst_drv_ctx 258 sound/soc/intel/atom/sst/sst_stream.c retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, IPC_CMD, sst_drv_ctx 267 sound/soc/intel/atom/sst/sst_stream.c mutex_lock(&sst_drv_ctx->sst_lock); sst_drv_ctx 269 sound/soc/intel/atom/sst/sst_stream.c mutex_unlock(&sst_drv_ctx->sst_lock); sst_drv_ctx 273 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "SST DBG:BADRQC for stream\n"); sst_drv_ctx 286 sound/soc/intel/atom/sst/sst_stream.c int sst_resume_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_drv_ctx 291 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_resume_stream for %d\n", str_id); sst_drv_ctx 292 sound/soc/intel/atom/sst/sst_stream.c str_info = get_stream_info(sst_drv_ctx, str_id); sst_drv_ctx 304 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "restart recreated stream after resume\n"); sst_drv_ctx 307 sound/soc/intel/atom/sst/sst_stream.c retval = sst_start_stream(sst_drv_ctx, str_id); sst_drv_ctx 315 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "leaving recreated stream idle after resume\n"); sst_drv_ctx 320 sound/soc/intel/atom/sst/sst_stream.c retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, sst_drv_ctx 333 sound/soc/intel/atom/sst/sst_stream.c mutex_lock(&sst_drv_ctx->sst_lock); sst_drv_ctx 335 sound/soc/intel/atom/sst/sst_stream.c mutex_unlock(&sst_drv_ctx->sst_lock); sst_drv_ctx 339 sound/soc/intel/atom/sst/sst_stream.c dev_err(sst_drv_ctx->dev, "SST ERR: BADQRC for stream\n"); sst_drv_ctx 353 sound/soc/intel/atom/sst/sst_stream.c int sst_drop_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_drv_ctx 358 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_drop_stream for %d\n", str_id); sst_drv_ctx 359 sound/soc/intel/atom/sst/sst_stream.c str_info = get_stream_info(sst_drv_ctx, str_id); sst_drv_ctx 367 sound/soc/intel/atom/sst/sst_stream.c retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, sst_drv_ctx 373 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "BADQRC for stream, state %x\n", sst_drv_ctx 386 sound/soc/intel/atom/sst/sst_stream.c int sst_drain_stream(struct intel_sst_drv *sst_drv_ctx, sst_drv_ctx 392 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_drain_stream for %d\n", str_id); sst_drv_ctx 393 sound/soc/intel/atom/sst/sst_stream.c str_info = get_stream_info(sst_drv_ctx, str_id); sst_drv_ctx 399 sound/soc/intel/atom/sst/sst_stream.c dev_err(sst_drv_ctx->dev, "SST ERR: BADQRC for stream = %d\n", sst_drv_ctx 404 sound/soc/intel/atom/sst/sst_stream.c retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, IPC_CMD, sst_drv_ctx 423 sound/soc/intel/atom/sst/sst_stream.c int sst_free_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_drv_ctx 428 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_free_stream for %d\n", str_id); sst_drv_ctx 430 sound/soc/intel/atom/sst/sst_stream.c mutex_lock(&sst_drv_ctx->sst_lock); sst_drv_ctx 431 sound/soc/intel/atom/sst/sst_stream.c if (sst_drv_ctx->sst_state == SST_RESET) { sst_drv_ctx 432 sound/soc/intel/atom/sst/sst_stream.c mutex_unlock(&sst_drv_ctx->sst_lock); sst_drv_ctx 435 sound/soc/intel/atom/sst/sst_stream.c mutex_unlock(&sst_drv_ctx->sst_lock); sst_drv_ctx 436 sound/soc/intel/atom/sst/sst_stream.c str_info = get_stream_info(sst_drv_ctx, str_id); sst_drv_ctx 446 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "Free for str %d pipe %#x\n", sst_drv_ctx 448 sound/soc/intel/atom/sst/sst_stream.c retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, IPC_CMD, sst_drv_ctx 452 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "sst: wait for free returned %d\n", sst_drv_ctx 454 sound/soc/intel/atom/sst/sst_stream.c mutex_lock(&sst_drv_ctx->sst_lock); sst_drv_ctx 456 sound/soc/intel/atom/sst/sst_stream.c mutex_unlock(&sst_drv_ctx->sst_lock); sst_drv_ctx 457 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "SST DBG:Stream freed\n"); sst_drv_ctx 461 sound/soc/intel/atom/sst/sst_stream.c dev_dbg(sst_drv_ctx->dev, "SST DBG:BADQRC for stream\n");