Lines Matching refs:adata
61 static void init_dma_descriptor(struct acp_dev_data *adata) in init_dma_descriptor() argument
63 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()
119 static int acpbus_dma_start(struct acp_dev_data *adata, unsigned int ch, in acpbus_dma_start() argument
122 struct snd_sof_dev *sdev = adata->dev; in acpbus_dma_start()
130 configure_dma_descriptor(adata, dscr, dscr_info++); in acpbus_dma_start()
132 ret = config_dma_channel(adata, ch, 0, dscr_count); in acpbus_dma_start()
139 int configure_and_run_dma(struct acp_dev_data *adata, unsigned int src_addr, in configure_and_run_dma() argument
142 struct snd_sof_dev *sdev = adata->dev; in configure_and_run_dma()
148 adata->dscr_info[desc_count].src_addr = src_addr + desc_count * ACP_PAGE_SIZE; in configure_and_run_dma()
149 adata->dscr_info[desc_count].dest_addr = dest_addr + desc_count * ACP_PAGE_SIZE; in configure_and_run_dma()
150 adata->dscr_info[desc_count].tx_cnt.bits.count = ACP_PAGE_SIZE; in configure_and_run_dma()
152 adata->dscr_info[desc_count].tx_cnt.bits.count = dsp_data_size; in configure_and_run_dma()
155 ret = acpbus_dma_start(adata, 0, desc_count, adata->dscr_info); in configure_and_run_dma()
161 memset(&adata->dscr_info[index], 0x00, sizeof(struct dma_descriptor)); in configure_and_run_dma()
172 static int psp_mbox_ready(struct acp_dev_data *adata, bool ack) in psp_mbox_ready() argument
174 struct snd_sof_dev *sdev = adata->dev; in psp_mbox_ready()
179 ACP_PSP_TIMEOUT_US, false, adata->smn_dev, MP0_C2PMSG_114_REG); in psp_mbox_ready()
197 static int psp_send_cmd(struct acp_dev_data *adata, int cmd) in psp_send_cmd() argument
199 struct snd_sof_dev *sdev = adata->dev; in psp_send_cmd()
208 adata->smn_dev, MP0_C2PMSG_73_REG); in psp_send_cmd()
216 ret = psp_mbox_ready(adata, 0); in psp_send_cmd()
220 smn_write(adata->smn_dev, MP0_C2PMSG_114_REG, cmd); in psp_send_cmd()
223 smn_write(adata->smn_dev, MP0_C2PMSG_73_REG, data); in psp_send_cmd()
226 ret = psp_mbox_ready(adata, 1); in psp_send_cmd()
231 int configure_and_run_sha_dma(struct acp_dev_data *adata, void *image_addr, in configure_and_run_sha_dma() argument
235 struct snd_sof_dev *sdev = adata->dev; in configure_and_run_sha_dma()
258 if (adata->signed_fw_image) in configure_and_run_sha_dma()
276 ret = psp_send_cmd(adata, MBOX_ACP_SHA_DMA_COMMAND); in configure_and_run_sha_dma()
292 int acp_dma_status(struct acp_dev_data *adata, unsigned char ch) in acp_dma_status() argument
294 struct snd_sof_dev *sdev = adata->dev; in acp_dma_status()
330 struct acp_dev_data *adata = sdev->pdata->hw_pdata; in acp_memory_init() local
335 init_dma_descriptor(adata); in acp_memory_init()
484 struct acp_dev_data *adata; in amd_sof_acp_probe() local
495 adata = devm_kzalloc(sdev->dev, sizeof(struct acp_dev_data), in amd_sof_acp_probe()
497 if (!adata) in amd_sof_acp_probe()
500 adata->dev = sdev; in amd_sof_acp_probe()
501 adata->dmic_dev = platform_device_register_data(sdev->dev, "dmic-codec", in amd_sof_acp_probe()
503 if (IS_ERR(adata->dmic_dev)) { in amd_sof_acp_probe()
505 return PTR_ERR(adata->dmic_dev); in amd_sof_acp_probe()
517 sdev->pdata->hw_pdata = adata; in amd_sof_acp_probe()
518 adata->smn_dev = pci_get_device(PCI_VENDOR_ID_AMD, chip->host_bridge_id, NULL); in amd_sof_acp_probe()
519 if (!adata->smn_dev) { in amd_sof_acp_probe()
547 adata->signed_fw_image = false; in amd_sof_acp_probe()
550 adata->fw_code_bin = kasprintf(GFP_KERNEL, "%s/sof-%s-code.bin", in amd_sof_acp_probe()
553 adata->fw_data_bin = kasprintf(GFP_KERNEL, "%s/sof-%s-data.bin", in amd_sof_acp_probe()
556 adata->signed_fw_image = dmi_id->driver_data; in amd_sof_acp_probe()
558 dev_dbg(sdev->dev, "fw_code_bin:%s, fw_data_bin:%s\n", adata->fw_code_bin, in amd_sof_acp_probe()
559 adata->fw_data_bin); in amd_sof_acp_probe()
561 adata->enable_fw_debug = enable_fw_debug; in amd_sof_acp_probe()
571 pci_dev_put(adata->smn_dev); in amd_sof_acp_probe()
573 platform_device_unregister(adata->dmic_dev); in amd_sof_acp_probe()
580 struct acp_dev_data *adata = sdev->pdata->hw_pdata; in amd_sof_acp_remove() local
582 if (adata->smn_dev) in amd_sof_acp_remove()
583 pci_dev_put(adata->smn_dev); in amd_sof_acp_remove()
588 if (adata->dmic_dev) in amd_sof_acp_remove()
589 platform_device_unregister(adata->dmic_dev); in amd_sof_acp_remove()