Lines Matching defs:component
55 struct snd_soc_component *component;
118 static int wm5100_alloc_sr(struct snd_soc_component *component, int rate)
120 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
127 dev_err(component->dev, "Unsupported sample rate: %dHz\n", rate);
140 if ((snd_soc_component_read(component, wm5100_sr_regs[i]) &
147 dev_dbg(component->dev, "SR %dHz, slot %d, ref %d\n",
153 dev_err(component->dev, "All SR slots already in use\n");
157 dev_dbg(component->dev, "Allocating SR slot %d for %dHz\n",
160 snd_soc_component_update_bits(component, wm5100_sr_regs[sr_free],
167 dev_err(component->dev,
174 static void wm5100_free_sr(struct snd_soc_component *component, int rate)
176 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
183 dev_err(component->dev, "Unsupported sample rate: %dHz\n", rate);
192 if ((snd_soc_component_read(component, wm5100_sr_regs[i]) &
198 dev_dbg(component->dev, "Dereference SR %dHz, count now %d\n",
201 dev_warn(component->dev, "Freeing unreferenced sample rate %dHz\n",
733 static void wm5100_seq_notifier(struct snd_soc_component *component,
736 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
741 expect = snd_soc_component_read(component, WM5100_CHANNEL_ENABLES_1);
743 val = snd_soc_component_read(component, WM5100_OUTPUT_STATUS_1);
750 dev_err(component->dev, "Timeout waiting for OUTPUT1 %x\n",
756 expect = snd_soc_component_read(component, WM5100_OUTPUT_ENABLES_2);
758 val = snd_soc_component_read(component, WM5100_OUTPUT_STATUS_2);
765 dev_err(component->dev, "Timeout waiting for OUTPUT2 %x\n",
775 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
776 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
840 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
841 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
844 ret = snd_soc_component_read(component, WM5100_INTERRUPT_RAW_STATUS_3);
850 ret = snd_soc_component_read(component, WM5100_INTERRUPT_RAW_STATUS_4);
1281 struct snd_soc_component *component = dai->component;
1297 dev_err(component->dev, "Unsupported DAI format %d\n",
1316 dev_err(component->dev, "Unsupported master mode %d\n",
1338 snd_soc_component_update_bits(component, base + 1, WM5100_AIF1_BCLK_MSTR |
1340 snd_soc_component_update_bits(component, base + 2, WM5100_AIF1TX_LRCLK_MSTR |
1342 snd_soc_component_update_bits(component, base + 3, WM5100_AIF1TX_LRCLK_MSTR |
1344 snd_soc_component_update_bits(component, base + 5, WM5100_AIF1_FMT_MASK, mask);
1399 struct snd_soc_component *component = dai->component;
1400 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
1415 dev_dbg(component->dev, "Word length %d bits, frame length %d bits\n",
1426 sr = wm5100_alloc_sr(component, params_rate(params));
1438 dev_err(component->dev, "Invalid rate %dHzn",
1444 snd_soc_component_update_bits(component, WM5100_CLOCKING_8,
1449 dev_err(component->dev, "%s has no rate set\n",
1454 dev_dbg(component->dev, "Target BCLK is %dHz, using %dHz %s\n",
1466 dev_err(component->dev,
1473 dev_dbg(component->dev, "Setting %dHz BCLK\n", bclk_rates[bclk]);
1474 snd_soc_component_update_bits(component, base + 1, WM5100_AIF1_BCLK_FREQ_MASK, bclk);
1477 dev_dbg(component->dev, "Setting %dHz LRCLK\n", bclk_rates[bclk] / lrclk);
1480 snd_soc_component_update_bits(component, base + 7,
1483 snd_soc_component_update_bits(component, base + 6,
1488 snd_soc_component_update_bits(component, base + 9,
1492 snd_soc_component_update_bits(component, base + 8,
1496 snd_soc_component_update_bits(component, base + 4, WM5100_AIF1_RATE_MASK, sr);
1506 static int wm5100_set_sysclk(struct snd_soc_component *component, int clk_id,
1509 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
1528 snd_soc_component_update_bits(component, WM5100_CLOCKING_1,
1549 dev_err(component->dev, "Invalid source %d\n", source);
1558 snd_soc_component_update_bits(component, WM5100_MISC_GPIO_1,
1563 snd_soc_component_update_bits(component, WM5100_MISC_GPIO_1,
1568 snd_soc_component_update_bits(component, WM5100_MISC_GPIO_1,
1572 dev_err(component->dev, "Unsupported OPCLK %dHz\n",
1579 dev_err(component->dev, "Unknown clock %d\n", clk_id);
1586 dev_err(component->dev, "Invalid source %d\n", source);
1604 dev_err(component->dev, "Invalid clock rate: %d\n", freq);
1631 snd_soc_component_update_bits(component, reg, WM5100_SYSCLK_FREQ_MASK |
1640 dev_dbg(component->dev, "Setting primary audio rate to %dHz",
1643 wm5100_free_sr(component, audio_rate);
1644 ret = wm5100_alloc_sr(component, audio_rate);
1646 dev_warn(component->dev, "Primary audio slot is %d\n",
1754 static int wm5100_set_fll(struct snd_soc_component *component, int fll_id, int source,
1757 struct i2c_client *i2c = to_i2c_client(component->dev);
1758 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
1776 dev_err(component->dev, "Unknown FLL %d\n",fll_id);
1781 dev_dbg(component->dev, "FLL%d disabled", fll_id);
1783 pm_runtime_put(component->dev);
1785 snd_soc_component_update_bits(component, base + 1, WM5100_FLL1_ENA, 0);
1799 dev_err(component->dev, "Invalid FLL source %d\n", source);
1808 snd_soc_component_update_bits(component, base + 1, WM5100_FLL1_ENA, 0);
1810 snd_soc_component_update_bits(component, base + 2,
1814 snd_soc_component_update_bits(component, base + 3, WM5100_FLL1_THETA_MASK,
1816 snd_soc_component_update_bits(component, base + 5, WM5100_FLL1_N_MASK, factors.n);
1817 snd_soc_component_update_bits(component, base + 6,
1822 snd_soc_component_update_bits(component, base + 7, WM5100_FLL1_LAMBDA_MASK,
1828 pm_runtime_get_sync(component->dev);
1830 snd_soc_component_update_bits(component, base + 1, WM5100_FLL1_ENA, WM5100_FLL1_ENA);
1837 snd_soc_component_update_bits(component, WM5100_CLOCKING_3, WM5100_SYSCLK_ENA,
1851 ret = snd_soc_component_read(component,
1854 dev_err(component->dev,
1863 dev_err(component->dev, "FLL%d lock timed out\n", fll_id);
1864 pm_runtime_put(component->dev);
1872 dev_dbg(component->dev, "FLL%d running %dHz->%dHz\n", fll_id,
2098 int wm5100_detect(struct snd_soc_component *component, struct snd_soc_jack *jack)
2100 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
2101 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
2112 snd_soc_component_update_bits(component, WM5100_MIC_DETECT_1,
2131 snd_soc_component_update_bits(component, WM5100_MIC_DETECT_1,
2134 snd_soc_component_update_bits(component, WM5100_INTERRUPT_STATUS_3_MASK,
2137 snd_soc_component_update_bits(component, WM5100_INTERRUPT_STATUS_3_MASK,
2142 snd_soc_component_update_bits(component, WM5100_MIC_DETECT_1,
2329 static int wm5100_probe(struct snd_soc_component *component)
2331 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
2332 struct i2c_client *i2c = to_i2c_client(component->dev);
2333 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);
2336 wm5100->component = component;
2339 snd_soc_component_update_bits(component, wm5100_dig_vu[i], WM5100_OUT_VU,
2343 snd_soc_component_write(component, WM5100_IRQ_DEBOUNCE_1, 0);
2344 snd_soc_component_write(component, WM5100_IRQ_DEBOUNCE_2, 0);
2369 static void wm5100_remove(struct snd_soc_component *component)
2371 struct wm5100_priv *wm5100 = snd_soc_component_get_drvdata(component);