Symbol: tscs454
sound/soc/codecs/tscs454.c
2634
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
2646
tscs454->bclk_freq = freq;
sound/soc/codecs/tscs454.c
277
static inline int tscs454_data_init(struct tscs454 *tscs454,
sound/soc/codecs/tscs454.c
283
tscs454->regmap = devm_regmap_init_i2c(i2c, &tscs454_regmap_cfg);
sound/soc/codecs/tscs454.c
284
if (IS_ERR(tscs454->regmap)) {
sound/soc/codecs/tscs454.c
285
ret = PTR_ERR(tscs454->regmap);
sound/soc/codecs/tscs454.c
2884
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
2885
struct aif *aif = &tscs454->aifs[dai->id];
sound/soc/codecs/tscs454.c
290
aif_init(&tscs454->aifs[i], i);
sound/soc/codecs/tscs454.c
292
mutex_init(&tscs454->aifs_status_lock);
sound/soc/codecs/tscs454.c
293
pll_init(&tscs454->pll1, 1);
sound/soc/codecs/tscs454.c
294
pll_init(&tscs454->pll2, 2);
sound/soc/codecs/tscs454.c
296
coeff_ram_init(&tscs454->dac_ram);
sound/soc/codecs/tscs454.c
297
coeff_ram_init(&tscs454->spk_ram);
sound/soc/codecs/tscs454.c
298
coeff_ram_init(&tscs454->sub_ram);
sound/soc/codecs/tscs454.c
312
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
3171
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
3173
struct aif *aif = &tscs454->aifs[dai->id];
sound/soc/codecs/tscs454.c
3177
mutex_lock(&tscs454->aifs_status_lock);
sound/soc/codecs/tscs454.c
3182
if (!aif_active(&tscs454->aifs_status, aif->id)) {
sound/soc/codecs/tscs454.c
3184
aif->pll = &tscs454->pll1;
sound/soc/codecs/tscs454.c
3186
aif->pll = &tscs454->pll2;
sound/soc/codecs/tscs454.c
3194
if (!aifs_active(&tscs454->aifs_status)) { /* First active aif */
sound/soc/codecs/tscs454.c
3197
tscs454->internal_rate.pll = &tscs454->pll1;
sound/soc/codecs/tscs454.c
3199
tscs454->internal_rate.pll = &tscs454->pll2;
sound/soc/codecs/tscs454.c
320
coeff_ram = tscs454->dac_ram.cache;
sound/soc/codecs/tscs454.c
3202
tscs454->internal_rate.pll->id);
sound/soc/codecs/tscs454.c
3204
reserve_pll(tscs454->internal_rate.pll);
sound/soc/codecs/tscs454.c
321
coeff_ram_lock = &tscs454->dac_ram.lock;
sound/soc/codecs/tscs454.c
3220
set_aif_status_active(&tscs454->aifs_status, aif->id,
sound/soc/codecs/tscs454.c
3224
aif->id, tscs454->aifs_status.streams);
sound/soc/codecs/tscs454.c
3228
mutex_unlock(&tscs454->aifs_status_lock);
sound/soc/codecs/tscs454.c
323
coeff_ram = tscs454->spk_ram.cache;
sound/soc/codecs/tscs454.c
3237
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
3238
struct aif *aif = &tscs454->aifs[dai->id];
sound/soc/codecs/tscs454.c
324
coeff_ram_lock = &tscs454->spk_ram.lock;
sound/soc/codecs/tscs454.c
3249
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
3250
struct aif *aif = &tscs454->aifs[dai->id];
sound/soc/codecs/tscs454.c
326
coeff_ram = tscs454->sub_ram.cache;
sound/soc/codecs/tscs454.c
327
coeff_ram_lock = &tscs454->sub_ram.lock;
sound/soc/codecs/tscs454.c
3281
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
3285
switch (tscs454->sysclk_src_id) {
sound/soc/codecs/tscs454.c
3311
if (tscs454->sysclk_src_id < PLL_INPUT_BCLK)
sound/soc/codecs/tscs454.c
3402
struct tscs454 *tscs454;
sound/soc/codecs/tscs454.c
3406
tscs454 = devm_kzalloc(&i2c->dev, sizeof(*tscs454), GFP_KERNEL);
sound/soc/codecs/tscs454.c
3407
if (!tscs454)
sound/soc/codecs/tscs454.c
3410
ret = tscs454_data_init(tscs454, i2c);
sound/soc/codecs/tscs454.c
3414
i2c_set_clientdata(i2c, tscs454);
sound/soc/codecs/tscs454.c
3417
tscs454->sysclk = devm_clk_get(&i2c->dev, src_names[src]);
sound/soc/codecs/tscs454.c
3418
if (!IS_ERR(tscs454->sysclk)) {
sound/soc/codecs/tscs454.c
3420
} else if (PTR_ERR(tscs454->sysclk) != -ENOENT) {
sound/soc/codecs/tscs454.c
3421
ret = PTR_ERR(tscs454->sysclk);
sound/soc/codecs/tscs454.c
3427
tscs454->sysclk_src_id = src;
sound/soc/codecs/tscs454.c
3429
ret = regmap_write(tscs454->regmap,
sound/soc/codecs/tscs454.c
3435
regcache_mark_dirty(tscs454->regmap);
sound/soc/codecs/tscs454.c
3437
ret = regmap_register_patch(tscs454->regmap, tscs454_patch,
sound/soc/codecs/tscs454.c
3444
regmap_write(tscs454->regmap, R_PAGESEL, 0x00);
sound/soc/codecs/tscs454.c
347
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
368
ret = regmap_write(tscs454->regmap, r_addr, coeff_addr);
sound/soc/codecs/tscs454.c
375
ret = regmap_bulk_write(tscs454->regmap, r_wr,
sound/soc/codecs/tscs454.c
392
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
407
coeff_ram = tscs454->dac_ram.cache;
sound/soc/codecs/tscs454.c
408
coeff_ram_lock = &tscs454->dac_ram.lock;
sound/soc/codecs/tscs454.c
409
coeff_ram_synced = &tscs454->dac_ram.synced;
sound/soc/codecs/tscs454.c
414
coeff_ram = tscs454->spk_ram.cache;
sound/soc/codecs/tscs454.c
415
coeff_ram_lock = &tscs454->spk_ram.lock;
sound/soc/codecs/tscs454.c
416
coeff_ram_synced = &tscs454->spk_ram.synced;
sound/soc/codecs/tscs454.c
421
coeff_ram = tscs454->sub_ram.cache;
sound/soc/codecs/tscs454.c
422
coeff_ram_lock = &tscs454->sub_ram.lock;
sound/soc/codecs/tscs454.c
423
coeff_ram_synced = &tscs454->sub_ram.synced;
sound/soc/codecs/tscs454.c
438
mutex_lock(&tscs454->pll1.lock);
sound/soc/codecs/tscs454.c
439
mutex_lock(&tscs454->pll2.lock);
sound/soc/codecs/tscs454.c
456
mutex_unlock(&tscs454->pll2.lock);
sound/soc/codecs/tscs454.c
457
mutex_unlock(&tscs454->pll1.lock);
sound/soc/codecs/tscs454.c
464
struct tscs454 *tscs454)
sound/soc/codecs/tscs454.c
468
mutex_lock(&tscs454->dac_ram.lock);
sound/soc/codecs/tscs454.c
469
if (!tscs454->dac_ram.synced) {
sound/soc/codecs/tscs454.c
470
ret = write_coeff_ram(component, tscs454->dac_ram.cache,
sound/soc/codecs/tscs454.c
474
mutex_unlock(&tscs454->dac_ram.lock);
sound/soc/codecs/tscs454.c
478
mutex_unlock(&tscs454->dac_ram.lock);
sound/soc/codecs/tscs454.c
480
mutex_lock(&tscs454->spk_ram.lock);
sound/soc/codecs/tscs454.c
481
if (!tscs454->spk_ram.synced) {
sound/soc/codecs/tscs454.c
482
ret = write_coeff_ram(component, tscs454->spk_ram.cache,
sound/soc/codecs/tscs454.c
486
mutex_unlock(&tscs454->spk_ram.lock);
sound/soc/codecs/tscs454.c
490
mutex_unlock(&tscs454->spk_ram.lock);
sound/soc/codecs/tscs454.c
492
mutex_lock(&tscs454->sub_ram.lock);
sound/soc/codecs/tscs454.c
493
if (!tscs454->sub_ram.synced) {
sound/soc/codecs/tscs454.c
494
ret = write_coeff_ram(component, tscs454->sub_ram.cache,
sound/soc/codecs/tscs454.c
498
mutex_unlock(&tscs454->sub_ram.lock);
sound/soc/codecs/tscs454.c
502
mutex_unlock(&tscs454->sub_ram.lock);
sound/soc/codecs/tscs454.c
626
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
632
if (tscs454->sysclk_src_id < PLL_INPUT_BCLK)
sound/soc/codecs/tscs454.c
633
freq = clk_get_rate(tscs454->sysclk);
sound/soc/codecs/tscs454.c
635
freq = tscs454->bclk_freq;
sound/soc/codecs/tscs454.c
678
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
682
mutex_lock(&tscs454->pll1.lock);
sound/soc/codecs/tscs454.c
683
users = tscs454->pll1.users;
sound/soc/codecs/tscs454.c
684
mutex_unlock(&tscs454->pll1.lock);
sound/soc/codecs/tscs454.c
688
mutex_lock(&tscs454->pll2.lock);
sound/soc/codecs/tscs454.c
689
users = tscs454->pll2.users;
sound/soc/codecs/tscs454.c
690
mutex_unlock(&tscs454->pll2.lock);
sound/soc/codecs/tscs454.c
707
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
745
ret = coeff_ram_sync(component, tscs454);
sound/soc/codecs/tscs454.c
807
struct tscs454 *tscs454 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/tscs454.c
809
mutex_lock(&tscs454->aifs_status_lock);
sound/soc/codecs/tscs454.c
813
set_aif_status_inactive(&tscs454->aifs_status, aif->id, playback);
sound/soc/codecs/tscs454.c
816
aif->id, tscs454->aifs_status.streams);
sound/soc/codecs/tscs454.c
818
if (!aif_active(&tscs454->aifs_status, aif->id)) {
sound/soc/codecs/tscs454.c
826
if (!aifs_active(&tscs454->aifs_status)) {
sound/soc/codecs/tscs454.c
828
tscs454->internal_rate.pll->id);
sound/soc/codecs/tscs454.c
829
free_pll(tscs454->internal_rate.pll);
sound/soc/codecs/tscs454.c
832
mutex_unlock(&tscs454->aifs_status_lock);