Lines Matching refs:adata

69 int acp_machine_select(struct acp_dev_data *adata)
74 size = sizeof(*adata->machines);
75 mach = snd_soc_acpi_find_machine(adata->machines);
77 dev_err(adata->dev, "warning: No matching ASoC machine driver found\n");
81 adata->mach_dev = platform_device_register_data(adata->dev, mach->drv_name,
83 if (IS_ERR(adata->mach_dev))
84 dev_warn(adata->dev, "Unable to register Machine device\n");
92 struct acp_dev_data *adata = data;
93 struct acp_resource *rsrc = adata->rsrc;
98 if (!adata)
101 if (adata->rsrc->no_of_ctrls == 2)
102 ext_intr_stat1 = readl(ACP_EXTERNAL_INTR_STAT(adata, (rsrc->irqp_used - 1)));
104 ext_intr_stat = readl(ACP_EXTERNAL_INTR_STAT(adata, rsrc->irqp_used));
106 spin_lock(&adata->acp_lock);
107 list_for_each_entry(stream, &adata->stream_list, list) {
110 ACP_EXTERNAL_INTR_STAT(adata, rsrc->irqp_used));
114 if (adata->rsrc->no_of_ctrls == 2) {
116 writel(stream->irq_bit, ACP_EXTERNAL_INTR_STAT(adata,
123 spin_unlock(&adata->acp_lock);
130 void config_pte_for_stream(struct acp_dev_data *adata, struct acp_stream *stream)
132 struct acp_resource *rsrc = adata->rsrc;
142 writel(reg_val | BIT(31), adata->acp_base + pte_reg);
143 writel(PAGE_SIZE_4K_ENABLE, adata->acp_base + pte_size);
144 writel(0x01, adata->acp_base + ACPAXI2AXI_ATU_CTRL);
148 void config_acp_dma(struct acp_dev_data *adata, struct acp_stream *stream, int size)
151 struct acp_resource *rsrc = adata->rsrc;
163 writel(low, adata->acp_base + rsrc->scratch_reg_offset + val);
165 writel(high, adata->acp_base + rsrc->scratch_reg_offset + val + 4);
178 struct acp_dev_data *adata = dev_get_drvdata(dev);
201 writel(1, ACP_EXTERNAL_INTR_ENB(adata));
203 spin_lock_irq(&adata->acp_lock);
204 list_add_tail(&stream->list, &adata->stream_list);
205 spin_unlock_irq(&adata->acp_lock);
214 struct acp_dev_data *adata = snd_soc_component_get_drvdata(component);
219 config_pte_for_stream(adata, stream);
220 config_acp_dma(adata, stream, size);
229 struct acp_dev_data *adata = dev_get_drvdata(dev);
237 bytescount = acp_get_byte_count(adata, stream->dai_id, substream->stream);
261 struct acp_dev_data *adata = dev_get_drvdata(dev);
265 spin_lock_irq(&adata->acp_lock);
267 spin_unlock_irq(&adata->acp_lock);
285 struct acp_dev_data *adata = dev_get_drvdata(dev);
289 status = devm_request_irq(dev, adata->i2s_irq, i2s_irq_handler,
290 IRQF_SHARED, "ACP_I2S_IRQ", adata);
297 adata->dai_driver,
298 adata->num_dai);
304 INIT_LIST_HEAD(&adata->stream_list);
305 spin_lock_init(&adata->acp_lock);
313 struct acp_dev_data *adata = dev_get_drvdata(dev);
315 if (adata->mach_dev)
316 platform_device_unregister(adata->mach_dev);