Lines Matching refs:adata
48 static void init_dma_descriptor(struct acp_dev_data *adata) in init_dma_descriptor() argument
50 struct snd_sof_dev *sdev = adata->dev; in init_dma_descriptor()
74 static void configure_dma_descriptor(struct acp_dev_data *adata, unsigned short idx, in configure_dma_descriptor() argument
77 struct snd_sof_dev *sdev = adata->dev; in configure_dma_descriptor()
89 static int config_dma_channel(struct acp_dev_data *adata, unsigned int ch, in config_dma_channel() argument
92 struct snd_sof_dev *sdev = adata->dev; in config_dma_channel()
144 static int acpbus_dma_start(struct acp_dev_data *adata, unsigned int ch, in acpbus_dma_start() argument
147 struct snd_sof_dev *sdev = adata->dev; in acpbus_dma_start()
155 configure_dma_descriptor(adata, dscr, dscr_info++); in acpbus_dma_start()
157 ret = config_dma_channel(adata, ch, 0, dscr_count); in acpbus_dma_start()
164 int configure_and_run_dma(struct acp_dev_data *adata, unsigned int src_addr, in configure_and_run_dma() argument
167 struct snd_sof_dev *sdev = adata->dev; in configure_and_run_dma()
173 adata->dscr_info[desc_count].src_addr = src_addr + desc_count * ACP_PAGE_SIZE; in configure_and_run_dma()
174 adata->dscr_info[desc_count].dest_addr = dest_addr + desc_count * ACP_PAGE_SIZE; in configure_and_run_dma()
175 adata->dscr_info[desc_count].tx_cnt.bits.count = ACP_PAGE_SIZE; in configure_and_run_dma()
177 adata->dscr_info[desc_count].tx_cnt.bits.count = dsp_data_size; in configure_and_run_dma()
180 ret = acpbus_dma_start(adata, 0, desc_count, adata->dscr_info); in configure_and_run_dma()
186 memset(&adata->dscr_info[index], 0x00, sizeof(struct dma_descriptor)); in configure_and_run_dma()
197 static int psp_mbox_ready(struct acp_dev_data *adata, bool ack) in psp_mbox_ready() argument
199 struct snd_sof_dev *sdev = adata->dev; in psp_mbox_ready()
222 static int psp_send_cmd(struct acp_dev_data *adata, int cmd) in psp_send_cmd() argument
224 struct snd_sof_dev *sdev = adata->dev; in psp_send_cmd()
241 ret = psp_mbox_ready(adata, 0); in psp_send_cmd()
255 ret = psp_mbox_ready(adata, 1); in psp_send_cmd()
260 int configure_and_run_sha_dma(struct acp_dev_data *adata, void *image_addr, in configure_and_run_sha_dma() argument
264 struct snd_sof_dev *sdev = adata->dev; in configure_and_run_sha_dma()
286 if (adata->quirks && adata->quirks->signed_fw_image) in configure_and_run_sha_dma()
294 if (adata->pci_rev == ACP_VANGOGH_PCI_ID && in configure_and_run_sha_dma()
295 !(adata->quirks && adata->quirks->skip_iram_dram_size_mod)) { in configure_and_run_sha_dma()
297 ret = psp_send_cmd(adata, MBOX_ACP_IRAM_DRAM_FENCE_COMMAND | IRAM_DRAM_FENCE_2); in configure_and_run_sha_dma()
300 ret = psp_send_cmd(adata, MBOX_ACP_IRAM_DRAM_FENCE_COMMAND | MBOX_ISREADY_FLAG); in configure_and_run_sha_dma()
315 if (adata->pci_rev == ACP_RN_PCI_ID) { in configure_and_run_sha_dma()
316 ret = psp_send_cmd(adata, MBOX_ACP_SHA_DMA_COMMAND); in configure_and_run_sha_dma()
334 int acp_dma_status(struct acp_dev_data *adata, unsigned char ch) in acp_dma_status() argument
336 struct snd_sof_dev *sdev = adata->dev; in acp_dma_status()
341 switch (adata->pci_rev) { in acp_dma_status()
382 struct acp_dev_data *adata = sdev->pdata->hw_pdata; in acp_memory_init() local
387 init_dma_descriptor(adata); in acp_memory_init()
392 static void amd_sof_handle_acp70_sdw_wake_event(struct acp_dev_data *adata) in amd_sof_handle_acp70_sdw_wake_event() argument
396 if (adata->acp70_sdw0_wake_event) { in amd_sof_handle_acp70_sdw_wake_event()
397 amd_manager = dev_get_drvdata(&adata->sdw->pdev[0]->dev); in amd_sof_handle_acp70_sdw_wake_event()
400 adata->acp70_sdw0_wake_event = 0; in amd_sof_handle_acp70_sdw_wake_event()
403 if (adata->acp70_sdw1_wake_event) { in amd_sof_handle_acp70_sdw_wake_event()
404 amd_manager = dev_get_drvdata(&adata->sdw->pdev[1]->dev); in amd_sof_handle_acp70_sdw_wake_event()
407 adata->acp70_sdw1_wake_event = 0; in amd_sof_handle_acp70_sdw_wake_event()
414 struct acp_dev_data *adata = sdev->pdata->hw_pdata; in amd_sof_check_and_handle_acp70_sdw_wake_irq() local
423 adata->acp70_sdw0_wake_event = true; in amd_sof_check_and_handle_acp70_sdw_wake_irq()
430 adata->acp70_sdw1_wake_event = true; in amd_sof_check_and_handle_acp70_sdw_wake_irq()
437 adata->acp70_sdw0_wake_event = true; in amd_sof_check_and_handle_acp70_sdw_wake_irq()
444 adata->acp70_sdw1_wake_event = true; in amd_sof_check_and_handle_acp70_sdw_wake_irq()
449 amd_sof_handle_acp70_sdw_wake_event(adata); in amd_sof_check_and_handle_acp70_sdw_wake_irq()
484 struct acp_dev_data *adata = sdev->pdata->hw_pdata; in acp_irq_handler() local
498 amd_manager = dev_get_drvdata(&adata->sdw->pdev[0]->dev); in acp_irq_handler()
509 if (adata->pci_rev >= ACP_RMB_PCI_ID) in acp_irq_handler()
518 amd_manager = dev_get_drvdata(&adata->sdw->pdev[1]->dev); in acp_irq_handler()
525 switch (adata->pci_rev) { in acp_irq_handler()
542 struct acp_dev_data *adata = sdev->pdata->hw_pdata; in acp_power_on() local
553 switch (adata->pci_rev) { in acp_power_on()
836 struct acp_dev_data *adata; in amd_sof_acp_probe() local
847 adata = devm_kzalloc(sdev->dev, sizeof(struct acp_dev_data), in amd_sof_acp_probe()
849 if (!adata) in amd_sof_acp_probe()
852 adata->dev = sdev; in amd_sof_acp_probe()
853 adata->dmic_dev = platform_device_register_data(sdev->dev, "dmic-codec", in amd_sof_acp_probe()
855 if (IS_ERR(adata->dmic_dev)) { in amd_sof_acp_probe()
857 return PTR_ERR(adata->dmic_dev); in amd_sof_acp_probe()
868 adata->addr = addr; in amd_sof_acp_probe()
869 adata->reg_range = chip->reg_end_addr - chip->reg_start_addr; in amd_sof_acp_probe()
870 adata->pci_rev = pci->revision; in amd_sof_acp_probe()
871 mutex_init(&adata->acp_lock); in amd_sof_acp_probe()
872 sdev->pdata->hw_pdata = adata; in amd_sof_acp_probe()
912 adata->quirks = dmi_id->driver_data; in amd_sof_acp_probe()
914 if (adata->quirks->signed_fw_image) { in amd_sof_acp_probe()
915 adata->fw_code_bin = devm_kasprintf(sdev->dev, GFP_KERNEL, in amd_sof_acp_probe()
918 if (!adata->fw_code_bin) { in amd_sof_acp_probe()
923 adata->fw_data_bin = devm_kasprintf(sdev->dev, GFP_KERNEL, in amd_sof_acp_probe()
926 if (!adata->fw_data_bin) { in amd_sof_acp_probe()
933 adata->enable_fw_debug = enable_fw_debug; in amd_sof_acp_probe()
943 platform_device_unregister(adata->dmic_dev); in amd_sof_acp_probe()
950 struct acp_dev_data *adata = sdev->pdata->hw_pdata; in amd_sof_acp_remove() local
952 if (adata->sdw) in amd_sof_acp_remove()
958 if (adata->dmic_dev) in amd_sof_acp_remove()
959 platform_device_unregister(adata->dmic_dev); in amd_sof_acp_remove()