Lines Matching refs:adata
53 struct acp_dev_data *adata; in acp_dsp_block_write() local
58 adata = sdev->pdata->hw_pdata; in acp_dsp_block_write()
62 if (!adata->bin_buf) { in acp_dsp_block_write()
66 adata->bin_buf = dma_alloc_coherent(&pci->dev, dma_size, in acp_dsp_block_write()
67 &adata->sha_dma_addr, in acp_dsp_block_write()
69 if (!adata->bin_buf) in acp_dsp_block_write()
72 adata->fw_bin_size = size + offset; in acp_dsp_block_write()
73 dest = adata->bin_buf + offset; in acp_dsp_block_write()
76 if (!adata->data_buf) { in acp_dsp_block_write()
77 adata->data_buf = dma_alloc_coherent(&pci->dev, in acp_dsp_block_write()
79 &adata->dma_addr, in acp_dsp_block_write()
81 if (!adata->data_buf) in acp_dsp_block_write()
84 dest = adata->data_buf + offset; in acp_dsp_block_write()
85 adata->fw_data_bin_size = size + offset; in acp_dsp_block_write()
86 adata->is_dram_in_use = true; in acp_dsp_block_write()
89 if (!adata->sram_data_buf) { in acp_dsp_block_write()
90 adata->sram_data_buf = dma_alloc_coherent(&pci->dev, in acp_dsp_block_write()
92 &adata->sram_dma_addr, in acp_dsp_block_write()
94 if (!adata->sram_data_buf) in acp_dsp_block_write()
97 adata->fw_sram_data_bin_size = size + offset; in acp_dsp_block_write()
98 dest = adata->sram_data_buf + offset; in acp_dsp_block_write()
99 adata->is_sram_in_use = true; in acp_dsp_block_write()
117 static void configure_pte_for_fw_loading(int type, int num_pages, struct acp_dev_data *adata) in configure_pte_for_fw_loading() argument
119 struct snd_sof_dev *sdev = adata->dev; in configure_pte_for_fw_loading()
129 addr = adata->sha_dma_addr; in configure_pte_for_fw_loading()
132 offset = adata->fw_bin_page_count * 8; in configure_pte_for_fw_loading()
133 addr = adata->dma_addr; in configure_pte_for_fw_loading()
136 offset = (adata->fw_bin_page_count + ACP_DRAM_PAGE_COUNT) * 8; in configure_pte_for_fw_loading()
137 addr = adata->sram_dma_addr; in configure_pte_for_fw_loading()
169 struct acp_dev_data *adata; in acp_dsp_pre_fw_run() local
174 adata = sdev->pdata->hw_pdata; in acp_dsp_pre_fw_run()
176 if (adata->quirks && adata->quirks->signed_fw_image) in acp_dsp_pre_fw_run()
177 size_fw = adata->fw_bin_size - ACP_FIRMWARE_SIGNATURE; in acp_dsp_pre_fw_run()
179 size_fw = adata->fw_bin_size; in acp_dsp_pre_fw_run()
182 adata->fw_bin_page_count = page_count; in acp_dsp_pre_fw_run()
184 configure_pte_for_fw_loading(FW_BIN, page_count, adata); in acp_dsp_pre_fw_run()
185 ret = configure_and_run_sha_dma(adata, adata->bin_buf, ACP_SYSTEM_MEMORY_WINDOW, in acp_dsp_pre_fw_run()
191 if (adata->is_dram_in_use) { in acp_dsp_pre_fw_run()
192 configure_pte_for_fw_loading(FW_DATA_BIN, ACP_DRAM_PAGE_COUNT, adata); in acp_dsp_pre_fw_run()
196 ret = configure_and_run_dma(adata, src_addr, dest_addr, adata->fw_data_bin_size); in acp_dsp_pre_fw_run()
201 ret = acp_dma_status(adata, 0); in acp_dsp_pre_fw_run()
205 if (adata->is_sram_in_use) { in acp_dsp_pre_fw_run()
206 configure_pte_for_fw_loading(FW_SRAM_DATA_BIN, ACP_SRAM_PAGE_COUNT, adata); in acp_dsp_pre_fw_run()
209 if (adata->pci_rev > ACP63_PCI_ID) in acp_dsp_pre_fw_run()
214 ret = configure_and_run_dma(adata, src_addr, dest_addr, in acp_dsp_pre_fw_run()
215 adata->fw_sram_data_bin_size); in acp_dsp_pre_fw_run()
220 ret = acp_dma_status(adata, 0); in acp_dsp_pre_fw_run()
225 if (adata->pci_rev > ACP_RN_PCI_ID) { in acp_dsp_pre_fw_run()
233 dma_free_coherent(&pci->dev, dma_size, adata->bin_buf, adata->sha_dma_addr); in acp_dsp_pre_fw_run()
234 adata->bin_buf = NULL; in acp_dsp_pre_fw_run()
235 if (adata->is_dram_in_use) { in acp_dsp_pre_fw_run()
236 dma_free_coherent(&pci->dev, ACP_DEFAULT_DRAM_LENGTH, adata->data_buf, in acp_dsp_pre_fw_run()
237 adata->dma_addr); in acp_dsp_pre_fw_run()
238 adata->data_buf = NULL; in acp_dsp_pre_fw_run()
240 if (adata->is_sram_in_use) { in acp_dsp_pre_fw_run()
241 dma_free_coherent(&pci->dev, ACP_DEFAULT_SRAM_LENGTH, adata->sram_data_buf, in acp_dsp_pre_fw_run()
242 adata->sram_dma_addr); in acp_dsp_pre_fw_run()
243 adata->sram_data_buf = NULL; in acp_dsp_pre_fw_run()
251 struct acp_dev_data *adata = sdev->pdata->hw_pdata; in acp_sof_dsp_run() local
260 if (desc->fusion_dsp_offset && adata->enable_fw_debug) { in acp_sof_dsp_run()
272 struct acp_dev_data *adata = plat_data->hw_pdata; in acp_sof_load_signed_firmware() local
278 adata->fw_code_bin); in acp_sof_load_signed_firmware()
300 adata->fw_data_bin); in acp_sof_load_signed_firmware()
304 ret = request_firmware(&adata->fw_dbin, fw_filename, sdev->dev); in acp_sof_load_signed_firmware()
316 (void *)adata->fw_dbin->data, in acp_sof_load_signed_firmware()
317 adata->fw_dbin->size); in acp_sof_load_signed_firmware()