Lines Matching defs:cdev

33 	struct catpt_dev *cdev = dev_get_drvdata(dev);
37 chan = catpt_dma_request_config_chan(cdev);
41 memset(&cdev->dx_ctx, 0, sizeof(cdev->dx_ctx));
42 ret = catpt_ipc_enter_dxstate(cdev, CATPT_DX_STATE_D3, &cdev->dx_ctx);
48 ret = catpt_dsp_stall(cdev, true);
52 ret = catpt_store_memdumps(cdev, chan);
54 dev_err(cdev->dev, "store memdumps failed: %d\n", ret);
58 ret = catpt_store_module_states(cdev, chan);
60 dev_err(cdev->dev, "store module states failed: %d\n", ret);
64 ret = catpt_store_streams_context(cdev, chan);
66 dev_err(cdev->dev, "store streams ctx failed: %d\n", ret);
72 return catpt_dsp_power_down(cdev);
84 struct catpt_dev *cdev = dev_get_drvdata(dev);
87 ret = catpt_dsp_power_up(cdev);
97 ret = catpt_boot_firmware(cdev, true);
99 dev_err(cdev->dev, "boot firmware failed: %d\n", ret);
105 if (cdev->devfmt[i].iface == UINT_MAX)
108 ret = catpt_ipc_set_device_format(cdev, &cdev->devfmt[i]);
143 static int catpt_register_board(struct catpt_dev *cdev)
145 const struct catpt_spec *spec = cdev->spec;
151 dev_info(cdev->dev, "no machines present\n");
160 dev_err(cdev->dev, "board register failed\n");
164 return devm_add_action_or_reset(cdev->dev, board_pdev_unregister,
168 static int catpt_probe_components(struct catpt_dev *cdev)
172 ret = catpt_dsp_power_up(cdev);
176 ret = catpt_dmac_probe(cdev);
178 dev_err(cdev->dev, "DMAC probe failed: %d\n", ret);
182 ret = catpt_first_boot_firmware(cdev);
184 dev_err(cdev->dev, "first fw boot failed: %d\n", ret);
188 ret = catpt_register_plat_component(cdev);
190 dev_err(cdev->dev, "register plat comp failed: %d\n", ret);
195 pm_runtime_set_active(cdev->dev);
197 pm_runtime_set_autosuspend_delay(cdev->dev, 2000);
198 pm_runtime_use_autosuspend(cdev->dev);
199 pm_runtime_mark_last_busy(cdev->dev);
201 pm_runtime_enable(cdev->dev);
203 ret = catpt_register_board(cdev);
205 dev_err(cdev->dev, "register board failed: %d\n", ret);
212 pm_runtime_disable(cdev->dev);
213 snd_soc_unregister_component(cdev->dev);
215 catpt_dmac_remove(cdev);
217 catpt_dsp_power_down(cdev);
222 static void catpt_dev_init(struct catpt_dev *cdev, struct device *dev,
225 cdev->dev = dev;
226 cdev->spec = spec;
227 init_completion(&cdev->fw_ready);
228 INIT_LIST_HEAD(&cdev->stream_list);
229 mutex_init(&cdev->stream_mutex);
230 mutex_init(&cdev->clk_mutex);
236 cdev->devfmt[CATPT_SSP_IFACE_0].iface = UINT_MAX;
237 cdev->devfmt[CATPT_SSP_IFACE_1].iface = UINT_MAX;
239 catpt_ipc_init(&cdev->ipc, dev);
241 catpt_sram_init(&cdev->dram, spec->host_dram_offset,
242 catpt_dram_size(cdev));
243 catpt_sram_init(&cdev->iram, spec->host_iram_offset,
244 catpt_iram_size(cdev));
250 struct catpt_dev *cdev;
266 cdev = devm_kzalloc(dev, sizeof(*cdev), GFP_KERNEL);
267 if (!cdev)
271 catpt_dev_init(cdev, dev, spec);
274 cdev->lpe_ba = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
275 if (IS_ERR(cdev->lpe_ba))
276 return PTR_ERR(cdev->lpe_ba);
277 cdev->lpe_base = res->start;
280 cdev->pci_ba = devm_platform_ioremap_resource(pdev, 1);
281 if (IS_ERR(cdev->pci_ba))
282 return PTR_ERR(cdev->pci_ba);
289 ret = dma_coerce_mask_and_coherent(cdev->dev, DMA_BIT_MASK(31));
293 cdev->dxbuf_vaddr = dmam_alloc_coherent(dev, catpt_dram_size(cdev),
294 &cdev->dxbuf_paddr, GFP_KERNEL);
295 if (!cdev->dxbuf_vaddr)
301 cdev->irq = ret;
303 platform_set_drvdata(pdev, cdev);
305 ret = devm_request_threaded_irq(dev, cdev->irq, catpt_dsp_irq_handler,
307 IRQF_SHARED, "AudioDSP", cdev);
311 return catpt_probe_components(cdev);
316 struct catpt_dev *cdev = platform_get_drvdata(pdev);
318 pm_runtime_disable(cdev->dev);
320 snd_soc_unregister_component(cdev->dev);
321 catpt_dmac_remove(cdev);
322 catpt_dsp_power_down(cdev);
324 catpt_sram_free(&cdev->iram);
325 catpt_sram_free(&cdev->dram);