Lines Matching full:easrc

50 	struct fsl_asrc *easrc = snd_soc_component_get_drvdata(comp);  in fsl_easrc_iec958_put_bits()  local
51 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_iec958_put_bits()
65 struct fsl_asrc *easrc = snd_soc_component_get_drvdata(comp); in fsl_easrc_iec958_get_bits() local
66 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_iec958_get_bits()
174 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_set_rs_ratio() local
175 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_set_rs_ratio()
205 dev_err(&easrc->pdev->dev, "ratio exceed range\n"); in fsl_easrc_set_rs_ratio()
209 regmap_write(easrc->regmap, REG_EASRC_RRL(ctx->index), in fsl_easrc_set_rs_ratio()
211 regmap_write(easrc->regmap, REG_EASRC_RRH(ctx->index), in fsl_easrc_set_rs_ratio()
239 static int fsl_easrc_coeff_mem_ptr_reset(struct fsl_asrc *easrc, in fsl_easrc_coeff_mem_ptr_reset() argument
245 if (!easrc) in fsl_easrc_coeff_mem_ptr_reset()
248 dev = &easrc->pdev->dev; in fsl_easrc_coeff_mem_ptr_reset()
278 regmap_update_bits(easrc->regmap, reg, mask, 0); in fsl_easrc_coeff_mem_ptr_reset()
279 regmap_update_bits(easrc->regmap, reg, mask, val); in fsl_easrc_coeff_mem_ptr_reset()
280 regmap_update_bits(easrc->regmap, reg, mask, 0); in fsl_easrc_coeff_mem_ptr_reset()
299 static int fsl_easrc_resampler_config(struct fsl_asrc *easrc) in fsl_easrc_resampler_config() argument
301 struct device *dev = &easrc->pdev->dev; in fsl_easrc_resampler_config()
302 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_resampler_config()
342 regmap_write(easrc->regmap, REG_EASRC_RCTCL, EASRC_RCTCL_RS_CL(r[0])); in fsl_easrc_resampler_config()
343 regmap_write(easrc->regmap, REG_EASRC_RCTCH, EASRC_RCTCH_RS_CH(r[1])); in fsl_easrc_resampler_config()
352 regmap_update_bits(easrc->regmap, REG_EASRC_CRCC, in fsl_easrc_resampler_config()
357 ret = fsl_easrc_coeff_mem_ptr_reset(easrc, 0, EASRC_RS_COEFF_MEM); in fsl_easrc_resampler_config()
373 regmap_write(easrc->regmap, REG_EASRC_CRCM, in fsl_easrc_resampler_config()
375 regmap_write(easrc->regmap, REG_EASRC_CRCM, in fsl_easrc_resampler_config()
389 * @easrc: Structure pointer of fsl_asrc
395 static int fsl_easrc_normalize_filter(struct fsl_asrc *easrc, in fsl_easrc_normalize_filter() argument
400 struct device *dev = &easrc->pdev->dev; in fsl_easrc_normalize_filter()
428 static int fsl_easrc_write_pf_coeff_mem(struct fsl_asrc *easrc, int ctx_id, in fsl_easrc_write_pf_coeff_mem() argument
431 struct device *dev = &easrc->pdev->dev; in fsl_easrc_write_pf_coeff_mem()
450 ret = fsl_easrc_coeff_mem_ptr_reset(easrc, ctx_id, EASRC_PF_COEFF_MEM); in fsl_easrc_write_pf_coeff_mem()
455 ret = fsl_easrc_normalize_filter(easrc, &coef[i], &tmp, shift); in fsl_easrc_write_pf_coeff_mem()
460 regmap_write(easrc->regmap, REG_EASRC_PCF(ctx_id), in fsl_easrc_write_pf_coeff_mem()
462 regmap_write(easrc->regmap, REG_EASRC_PCF(ctx_id), in fsl_easrc_write_pf_coeff_mem()
469 static int fsl_easrc_prefilter_config(struct fsl_asrc *easrc, in fsl_easrc_prefilter_config() argument
483 if (!easrc) in fsl_easrc_prefilter_config()
486 dev = &easrc->pdev->dev; in fsl_easrc_prefilter_config()
493 easrc_priv = easrc->private; in fsl_easrc_prefilter_config()
495 ctx = easrc->pair[ctx_id]; in fsl_easrc_prefilter_config()
509 regmap_write(easrc->regmap, REG_EASRC_CCE1(ctx_id), 0); in fsl_easrc_prefilter_config()
510 regmap_write(easrc->regmap, REG_EASRC_CCE2(ctx_id), 0); in fsl_easrc_prefilter_config()
553 regmap_update_bits(easrc->regmap, in fsl_easrc_prefilter_config()
636 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx_id), in fsl_easrc_prefilter_config()
647 regmap_update_bits(easrc->regmap, REG_EASRC_CCE2(ctx_id), in fsl_easrc_prefilter_config()
652 regmap_update_bits(easrc->regmap, REG_EASRC_CCE1(ctx_id), in fsl_easrc_prefilter_config()
656 ret = fsl_easrc_write_pf_coeff_mem(easrc, ctx_id, in fsl_easrc_prefilter_config()
671 regmap_update_bits(easrc->regmap, REG_EASRC_CCE1(ctx_id), in fsl_easrc_prefilter_config()
678 regmap_update_bits(easrc->regmap, REG_EASRC_CCE1(ctx_id), in fsl_easrc_prefilter_config()
682 regmap_update_bits(easrc->regmap, REG_EASRC_CCE1(ctx_id), in fsl_easrc_prefilter_config()
687 regmap_update_bits(easrc->regmap, REG_EASRC_CCE2(ctx_id), in fsl_easrc_prefilter_config()
692 regmap_update_bits(easrc->regmap, REG_EASRC_CCE1(ctx_id), in fsl_easrc_prefilter_config()
696 ret = fsl_easrc_write_pf_coeff_mem(easrc, ctx_id, in fsl_easrc_prefilter_config()
750 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_config_one_slot() local
782 regmap_update_bits(easrc->regmap, reg0, in fsl_easrc_config_one_slot()
786 regmap_update_bits(easrc->regmap, reg0, in fsl_easrc_config_one_slot()
790 regmap_update_bits(easrc->regmap, reg0, in fsl_easrc_config_one_slot()
794 regmap_update_bits(easrc->regmap, reg0, in fsl_easrc_config_one_slot()
807 regmap_update_bits(easrc->regmap, reg2, in fsl_easrc_config_one_slot()
816 regmap_update_bits(easrc->regmap, reg2, in fsl_easrc_config_one_slot()
824 regmap_update_bits(easrc->regmap, reg1, in fsl_easrc_config_one_slot()
830 regmap_update_bits(easrc->regmap, reg3, in fsl_easrc_config_one_slot()
839 regmap_update_bits(easrc->regmap, reg3, in fsl_easrc_config_one_slot()
844 regmap_update_bits(easrc->regmap, reg0, in fsl_easrc_config_one_slot()
861 static int fsl_easrc_config_slot(struct fsl_asrc *easrc, unsigned int ctx_id) in fsl_easrc_config_slot() argument
863 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_config_slot()
864 struct fsl_asrc_pair *ctx = easrc->pair[ctx_id]; in fsl_easrc_config_slot()
912 dev_err(&easrc->pdev->dev, "no avail slot.\n"); in fsl_easrc_config_slot()
924 static int fsl_easrc_release_slot(struct fsl_asrc *easrc, unsigned int ctx_id) in fsl_easrc_release_slot() argument
926 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_release_slot()
927 struct fsl_asrc_pair *ctx = easrc->pair[ctx_id]; in fsl_easrc_release_slot()
937 regmap_write(easrc->regmap, REG_EASRC_DPCS0R0(i), 0); in fsl_easrc_release_slot()
938 regmap_write(easrc->regmap, REG_EASRC_DPCS0R1(i), 0); in fsl_easrc_release_slot()
939 regmap_write(easrc->regmap, REG_EASRC_DPCS0R2(i), 0); in fsl_easrc_release_slot()
940 regmap_write(easrc->regmap, REG_EASRC_DPCS0R3(i), 0); in fsl_easrc_release_slot()
949 regmap_write(easrc->regmap, REG_EASRC_DPCS1R0(i), 0); in fsl_easrc_release_slot()
950 regmap_write(easrc->regmap, REG_EASRC_DPCS1R1(i), 0); in fsl_easrc_release_slot()
951 regmap_write(easrc->regmap, REG_EASRC_DPCS1R2(i), 0); in fsl_easrc_release_slot()
952 regmap_write(easrc->regmap, REG_EASRC_DPCS1R3(i), 0); in fsl_easrc_release_slot()
964 static int fsl_easrc_config_context(struct fsl_asrc *easrc, unsigned int ctx_id) in fsl_easrc_config_context() argument
972 if (!easrc) in fsl_easrc_config_context()
975 dev = &easrc->pdev->dev; in fsl_easrc_config_context()
982 ctx = easrc->pair[ctx_id]; in fsl_easrc_config_context()
993 ret = fsl_easrc_prefilter_config(easrc, ctx->index); in fsl_easrc_config_context()
997 spin_lock_irqsave(&easrc->lock, lock_flags); in fsl_easrc_config_context()
998 ret = fsl_easrc_config_slot(easrc, ctx->index); in fsl_easrc_config_context()
999 spin_unlock_irqrestore(&easrc->lock, lock_flags); in fsl_easrc_config_context()
1010 regmap_update_bits(easrc->regmap, REG_EASRC_CCE1(ctx_id), in fsl_easrc_config_context()
1014 regmap_update_bits(easrc->regmap, REG_EASRC_CCE1(ctx_id), in fsl_easrc_config_context()
1022 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx_id), in fsl_easrc_config_context()
1031 regmap_update_bits(easrc->regmap, REG_EASRC_COC(ctx_id), in fsl_easrc_config_context()
1036 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx_id), in fsl_easrc_config_context()
1046 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_process_format() local
1047 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_process_format()
1129 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_set_ctx_format() local
1142 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx->index), in fsl_easrc_set_ctx_format()
1145 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx->index), in fsl_easrc_set_ctx_format()
1148 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx->index), in fsl_easrc_set_ctx_format()
1151 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx->index), in fsl_easrc_set_ctx_format()
1156 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx->index), in fsl_easrc_set_ctx_format()
1167 regmap_update_bits(easrc->regmap, REG_EASRC_COC(ctx->index), in fsl_easrc_set_ctx_format()
1170 regmap_update_bits(easrc->regmap, REG_EASRC_COC(ctx->index), in fsl_easrc_set_ctx_format()
1173 regmap_update_bits(easrc->regmap, REG_EASRC_COC(ctx->index), in fsl_easrc_set_ctx_format()
1176 regmap_update_bits(easrc->regmap, REG_EASRC_COC(ctx->index), in fsl_easrc_set_ctx_format()
1181 regmap_update_bits(easrc->regmap, REG_EASRC_COC(ctx->index), in fsl_easrc_set_ctx_format()
1185 regmap_update_bits(easrc->regmap, REG_EASRC_COC(ctx->index), in fsl_easrc_set_ctx_format()
1201 struct fsl_asrc *easrc; in fsl_easrc_set_ctx_organziation() local
1206 easrc = ctx->asrc; in fsl_easrc_set_ctx_organziation()
1210 regmap_update_bits(easrc->regmap, REG_EASRC_CIA(ctx->index), in fsl_easrc_set_ctx_organziation()
1213 regmap_update_bits(easrc->regmap, REG_EASRC_CIA(ctx->index), in fsl_easrc_set_ctx_organziation()
1216 regmap_update_bits(easrc->regmap, REG_EASRC_CIA(ctx->index), in fsl_easrc_set_ctx_organziation()
1221 regmap_update_bits(easrc->regmap, REG_EASRC_COA(ctx->index), in fsl_easrc_set_ctx_organziation()
1224 regmap_update_bits(easrc->regmap, REG_EASRC_COA(ctx->index), in fsl_easrc_set_ctx_organziation()
1227 regmap_update_bits(easrc->regmap, REG_EASRC_COA(ctx->index), in fsl_easrc_set_ctx_organziation()
1243 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_request_context() local
1249 dev = &easrc->pdev->dev; in fsl_easrc_request_context()
1251 spin_lock_irqsave(&easrc->lock, lock_flags); in fsl_easrc_request_context()
1254 if (easrc->pair[i]) in fsl_easrc_request_context()
1264 } else if (channels > easrc->channel_avail) { in fsl_easrc_request_context()
1271 easrc->pair[index] = ctx; in fsl_easrc_request_context()
1272 easrc->channel_avail -= channels; in fsl_easrc_request_context()
1275 spin_unlock_irqrestore(&easrc->lock, lock_flags); in fsl_easrc_request_context()
1288 struct fsl_asrc *easrc; in fsl_easrc_release_context() local
1293 easrc = ctx->asrc; in fsl_easrc_release_context()
1295 spin_lock_irqsave(&easrc->lock, lock_flags); in fsl_easrc_release_context()
1297 fsl_easrc_release_slot(easrc, ctx->index); in fsl_easrc_release_context()
1299 easrc->channel_avail += ctx->channels; in fsl_easrc_release_context()
1300 easrc->pair[ctx->index] = NULL; in fsl_easrc_release_context()
1302 spin_unlock_irqrestore(&easrc->lock, lock_flags); in fsl_easrc_release_context()
1312 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_start_context() local
1314 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx->index), in fsl_easrc_start_context()
1316 regmap_update_bits(easrc->regmap, REG_EASRC_COC(ctx->index), in fsl_easrc_start_context()
1318 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx->index), in fsl_easrc_start_context()
1330 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_stop_context() local
1335 regmap_read(easrc->regmap, REG_EASRC_CC(ctx->index), &val); in fsl_easrc_stop_context()
1338 regmap_update_bits(easrc->regmap, in fsl_easrc_stop_context()
1342 regmap_read(easrc->regmap, REG_EASRC_SFS(ctx->index), &val); in fsl_easrc_stop_context()
1348 regmap_read(easrc->regmap, REG_EASRC_RDFIFO(ctx->index), &val); in fsl_easrc_stop_context()
1350 regmap_read(easrc->regmap, REG_EASRC_IRQF, &val); in fsl_easrc_stop_context()
1353 regmap_write_bits(easrc->regmap, in fsl_easrc_stop_context()
1363 dev_warn(&easrc->pdev->dev, "RUN STOP fail\n"); in fsl_easrc_stop_context()
1366 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx->index), in fsl_easrc_stop_context()
1368 regmap_update_bits(easrc->regmap, REG_EASRC_CC(ctx->index), in fsl_easrc_stop_context()
1370 regmap_update_bits(easrc->regmap, REG_EASRC_COC(ctx->index), in fsl_easrc_stop_context()
1378 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_get_dma_channel() local
1385 return dma_request_slave_channel(&easrc->pdev->dev, name); in fsl_easrc_get_dma_channel()
1442 struct fsl_asrc *easrc = snd_soc_dai_get_drvdata(dai); in fsl_easrc_hw_params() local
1444 struct device *dev = &easrc->pdev->dev; in fsl_easrc_hw_params()
1467 ctx_priv->out_params.sample_rate = easrc->asrc_rate; in fsl_easrc_hw_params()
1468 ctx_priv->out_params.sample_format = easrc->asrc_format; in fsl_easrc_hw_params()
1472 ctx_priv->in_params.sample_rate = easrc->asrc_rate; in fsl_easrc_hw_params()
1473 ctx_priv->in_params.sample_format = easrc->asrc_format; in fsl_easrc_hw_params()
1492 ret = fsl_easrc_config_context(easrc, ctx->index); in fsl_easrc_hw_params()
1536 struct fsl_asrc *easrc = dev_get_drvdata(cpu_dai->dev); in fsl_easrc_dai_probe() local
1539 &easrc->dma_params_tx, in fsl_easrc_dai_probe()
1540 &easrc->dma_params_rx); in fsl_easrc_dai_probe()
1576 .name = "fsl-easrc-dai",
1755 static void fsl_easrc_dump_firmware(struct fsl_asrc *easrc) in fsl_easrc_dump_firmware() argument
1757 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_dump_firmware()
1761 struct device *dev = &easrc->pdev->dev; in fsl_easrc_dump_firmware()
1800 static int fsl_easrc_get_firmware(struct fsl_asrc *easrc) in fsl_easrc_get_firmware() argument
1808 if (!easrc) in fsl_easrc_get_firmware()
1811 easrc_priv = easrc->private; in fsl_easrc_get_firmware()
1814 ret = request_firmware(fw_p, easrc_priv->fw_name, &easrc->pdev->dev); in fsl_easrc_get_firmware()
1836 fsl_easrc_dump_firmware(easrc); in fsl_easrc_get_firmware()
1844 struct fsl_asrc *easrc = (struct fsl_asrc *)dev_id; in fsl_easrc_isr() local
1845 struct device *dev = &easrc->pdev->dev; in fsl_easrc_isr()
1848 regmap_read(easrc->regmap, REG_EASRC_IRQF, &val); in fsl_easrc_isr()
1953 struct fsl_asrc *easrc = pair->asrc; in fsl_easrc_m2m_calc_out_len() local
1954 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_m2m_calc_out_len()
2040 struct fsl_asrc *easrc = pair->asrc; in fsl_easrc_m2m_set_ratio_mod() local
2041 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_m2m_set_ratio_mod()
2064 regmap_write(easrc->regmap, REG_EASRC_RUC(pair->index), EASRC_RSUC_RS_RM(val)); in fsl_easrc_m2m_set_ratio_mod()
2083 { .compatible = "fsl,imx8mn-easrc",},
2092 struct fsl_asrc *easrc; in fsl_easrc_probe() local
2099 easrc = devm_kzalloc(dev, sizeof(*easrc), GFP_KERNEL); in fsl_easrc_probe()
2100 if (!easrc) in fsl_easrc_probe()
2107 easrc->pdev = pdev; in fsl_easrc_probe()
2108 easrc->private = easrc_priv; in fsl_easrc_probe()
2115 easrc->paddr = res->start; in fsl_easrc_probe()
2117 easrc->regmap = devm_regmap_init_mmio(dev, regs, &fsl_easrc_regmap_config); in fsl_easrc_probe()
2118 if (IS_ERR(easrc->regmap)) { in fsl_easrc_probe()
2120 return PTR_ERR(easrc->regmap); in fsl_easrc_probe()
2128 dev_name(dev), easrc); in fsl_easrc_probe()
2134 easrc->mem_clk = devm_clk_get(dev, "mem"); in fsl_easrc_probe()
2135 if (IS_ERR(easrc->mem_clk)) { in fsl_easrc_probe()
2137 return PTR_ERR(easrc->mem_clk); in fsl_easrc_probe()
2141 easrc->channel_avail = 32; in fsl_easrc_probe()
2142 easrc->get_dma_channel = fsl_easrc_get_dma_channel; in fsl_easrc_probe()
2143 easrc->request_pair = fsl_easrc_request_context; in fsl_easrc_probe()
2144 easrc->release_pair = fsl_easrc_release_context; in fsl_easrc_probe()
2145 easrc->get_fifo_addr = fsl_easrc_get_fifo_addr; in fsl_easrc_probe()
2146 easrc->pair_priv_size = sizeof(struct fsl_easrc_ctx_priv); in fsl_easrc_probe()
2147 easrc->m2m_prepare = fsl_easrc_m2m_prepare; in fsl_easrc_probe()
2148 easrc->m2m_start = fsl_easrc_m2m_start; in fsl_easrc_probe()
2149 easrc->m2m_stop = fsl_easrc_m2m_stop; in fsl_easrc_probe()
2150 easrc->get_output_fifo_size = fsl_easrc_get_output_fifo_size; in fsl_easrc_probe()
2151 easrc->m2m_calc_out_len = fsl_easrc_m2m_calc_out_len; in fsl_easrc_probe()
2152 easrc->m2m_get_maxburst = fsl_easrc_m2m_get_maxburst; in fsl_easrc_probe()
2153 easrc->m2m_pair_suspend = fsl_easrc_m2m_pair_suspend; in fsl_easrc_probe()
2154 easrc->m2m_pair_resume = fsl_easrc_m2m_pair_resume; in fsl_easrc_probe()
2155 easrc->m2m_set_ratio_mod = fsl_easrc_m2m_set_ratio_mod; in fsl_easrc_probe()
2156 easrc->m2m_get_cap = fsl_easrc_m2m_get_cap; in fsl_easrc_probe()
2161 ret = of_property_read_u32(np, "fsl,asrc-rate", &easrc->asrc_rate); in fsl_easrc_probe()
2168 easrc->asrc_format = (__force snd_pcm_format_t)asrc_fmt; in fsl_easrc_probe()
2174 if (!(FSL_EASRC_FORMATS & (pcm_format_to_bits(easrc->asrc_format)))) { in fsl_easrc_probe()
2176 easrc->asrc_format = SNDRV_PCM_FORMAT_S24_LE; in fsl_easrc_probe()
2186 platform_set_drvdata(pdev, easrc); in fsl_easrc_probe()
2189 spin_lock_init(&easrc->lock); in fsl_easrc_probe()
2191 regcache_cache_only(easrc->regmap, true); in fsl_easrc_probe()
2207 ret = fsl_asrc_m2m_init(easrc); in fsl_easrc_probe()
2222 struct fsl_asrc *easrc = dev_get_drvdata(&pdev->dev); in fsl_easrc_remove() local
2224 fsl_asrc_m2m_exit(easrc); in fsl_easrc_remove()
2231 struct fsl_asrc *easrc = dev_get_drvdata(dev); in fsl_easrc_runtime_suspend() local
2232 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_runtime_suspend()
2235 regcache_cache_only(easrc->regmap, true); in fsl_easrc_runtime_suspend()
2237 clk_disable_unprepare(easrc->mem_clk); in fsl_easrc_runtime_suspend()
2239 spin_lock_irqsave(&easrc->lock, lock_flags); in fsl_easrc_runtime_suspend()
2241 spin_unlock_irqrestore(&easrc->lock, lock_flags); in fsl_easrc_runtime_suspend()
2248 struct fsl_asrc *easrc = dev_get_drvdata(dev); in fsl_easrc_runtime_resume() local
2249 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_runtime_resume()
2256 ret = clk_prepare_enable(easrc->mem_clk); in fsl_easrc_runtime_resume()
2260 regcache_cache_only(easrc->regmap, false); in fsl_easrc_runtime_resume()
2261 regcache_mark_dirty(easrc->regmap); in fsl_easrc_runtime_resume()
2262 regcache_sync(easrc->regmap); in fsl_easrc_runtime_resume()
2264 spin_lock_irqsave(&easrc->lock, lock_flags); in fsl_easrc_runtime_resume()
2266 spin_unlock_irqrestore(&easrc->lock, lock_flags); in fsl_easrc_runtime_resume()
2270 spin_unlock_irqrestore(&easrc->lock, lock_flags); in fsl_easrc_runtime_resume()
2272 ret = fsl_easrc_get_firmware(easrc); in fsl_easrc_runtime_resume()
2283 ret = fsl_easrc_resampler_config(easrc); in fsl_easrc_runtime_resume()
2290 ctx = easrc->pair[i]; in fsl_easrc_runtime_resume()
2303 ret = fsl_easrc_write_pf_coeff_mem(easrc, i, in fsl_easrc_runtime_resume()
2310 ret = fsl_easrc_write_pf_coeff_mem(easrc, i, in fsl_easrc_runtime_resume()
2322 clk_disable_unprepare(easrc->mem_clk); in fsl_easrc_runtime_resume()
2328 struct fsl_asrc *easrc = dev_get_drvdata(dev); in fsl_easrc_suspend() local
2331 fsl_asrc_m2m_suspend(easrc); in fsl_easrc_suspend()
2338 struct fsl_asrc *easrc = dev_get_drvdata(dev); in fsl_easrc_resume() local
2342 fsl_asrc_m2m_resume(easrc); in fsl_easrc_resume()
2355 .name = "fsl-easrc",
2362 MODULE_DESCRIPTION("NXP Enhanced Asynchronous Sample Rate (eASRC) driver");