Lines Matching refs:component

52 				  struct snd_soc_component *component);
54 struct snd_soc_component *component);
80 struct snd_soc_component *component; member
160 static inline unsigned int dac33_read_reg_cache(struct snd_soc_component *component, in dac33_read_reg_cache() argument
163 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_read_reg_cache()
171 static inline void dac33_write_reg_cache(struct snd_soc_component *component, in dac33_write_reg_cache() argument
174 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_write_reg_cache()
182 static int dac33_read(struct snd_soc_component *component, unsigned int reg, in dac33_read() argument
185 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_read()
194 dev_err(component->dev, "Read failed (%d)\n", val); in dac33_read()
195 value[0] = dac33_read_reg_cache(component, reg); in dac33_read()
199 dac33_write_reg_cache(component, reg, val); in dac33_read()
202 value[0] = dac33_read_reg_cache(component, reg); in dac33_read()
208 static int dac33_write(struct snd_soc_component *component, unsigned int reg, in dac33_write() argument
211 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_write()
223 dac33_write_reg_cache(component, data[0], data[1]); in dac33_write()
227 dev_err(component->dev, "Write failed (%d)\n", ret); in dac33_write()
235 static int dac33_write_locked(struct snd_soc_component *component, unsigned int reg, in dac33_write_locked() argument
238 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_write_locked()
242 ret = dac33_write(component, reg, value); in dac33_write_locked()
249 static int dac33_write16(struct snd_soc_component *component, unsigned int reg, in dac33_write16() argument
252 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_write16()
266 dac33_write_reg_cache(component, data[0], data[1]); in dac33_write16()
267 dac33_write_reg_cache(component, data[0] + 1, data[2]); in dac33_write16()
274 dev_err(component->dev, "Write failed (%d)\n", ret); in dac33_write16()
282 static void dac33_init_chip(struct snd_soc_component *component) in dac33_init_chip() argument
284 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_init_chip()
290 dac33_write(component, DAC33_DAC_CTRL_A, DAC33_DACRATE(0)); in dac33_init_chip()
292 dac33_write(component, DAC33_DAC_CTRL_B, DAC33_DACSRCR_RIGHT | in dac33_init_chip()
295 dac33_write(component, DAC33_DAC_CTRL_C, 0x00); in dac33_init_chip()
299 dac33_write(component, DAC33_ANA_VOL_SOFT_STEP_CTRL, DAC33_VOLCLKEN); in dac33_init_chip()
302 dac33_write(component, DAC33_LDAC_DIG_VOL_CTRL, in dac33_init_chip()
303 dac33_read_reg_cache(component, DAC33_LDAC_DIG_VOL_CTRL)); in dac33_init_chip()
304 dac33_write(component, DAC33_RDAC_DIG_VOL_CTRL, in dac33_init_chip()
305 dac33_read_reg_cache(component, DAC33_RDAC_DIG_VOL_CTRL)); in dac33_init_chip()
307 dac33_write(component, DAC33_LINEL_TO_LLO_VOL, in dac33_init_chip()
308 dac33_read_reg_cache(component, DAC33_LINEL_TO_LLO_VOL)); in dac33_init_chip()
309 dac33_write(component, DAC33_LINER_TO_RLO_VOL, in dac33_init_chip()
310 dac33_read_reg_cache(component, DAC33_LINER_TO_RLO_VOL)); in dac33_init_chip()
312 dac33_write(component, DAC33_OUT_AMP_CTRL, in dac33_init_chip()
313 dac33_read_reg_cache(component, DAC33_OUT_AMP_CTRL)); in dac33_init_chip()
315 dac33_write(component, DAC33_LDAC_PWR_CTRL, in dac33_init_chip()
316 dac33_read_reg_cache(component, DAC33_LDAC_PWR_CTRL)); in dac33_init_chip()
317 dac33_write(component, DAC33_RDAC_PWR_CTRL, in dac33_init_chip()
318 dac33_read_reg_cache(component, DAC33_RDAC_PWR_CTRL)); in dac33_init_chip()
321 static inline int dac33_read_id(struct snd_soc_component *component) in dac33_read_id() argument
327 ret = dac33_read(component, DAC33_DEVICE_ID_MSB + i, &reg); in dac33_read_id()
335 static inline void dac33_soft_power(struct snd_soc_component *component, int power) in dac33_soft_power() argument
339 reg = dac33_read_reg_cache(component, DAC33_PWR_CTRL); in dac33_soft_power()
345 dac33_write(component, DAC33_PWR_CTRL, reg); in dac33_soft_power()
348 static inline void dac33_disable_digital(struct snd_soc_component *component) in dac33_disable_digital() argument
353 reg = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_B); in dac33_disable_digital()
355 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_B, reg); in dac33_disable_digital()
358 reg = dac33_read_reg_cache(component, DAC33_PWR_CTRL); in dac33_disable_digital()
360 dac33_write(component, DAC33_PWR_CTRL, reg); in dac33_disable_digital()
363 static int dac33_hard_power(struct snd_soc_component *component, int power) in dac33_hard_power() argument
365 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_hard_power()
372 dev_dbg(component->dev, "Trying to set the same power state: %s\n", in dac33_hard_power()
381 dev_err(component->dev, in dac33_hard_power()
391 dac33_soft_power(component, 0); in dac33_hard_power()
398 dev_err(component->dev, in dac33_hard_power()
414 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in dac33_playback_event() local
415 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_playback_event()
420 dac33_calculate_times(dac33->substream, component); in dac33_playback_event()
421 dac33_prepare_chip(dac33->substream, component); in dac33_playback_event()
425 dac33_disable_digital(component); in dac33_playback_event()
434 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in dac33_get_fifo_mode() local
435 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_get_fifo_mode()
445 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in dac33_set_fifo_mode() local
446 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_set_fifo_mode()
452 if (snd_soc_component_active(component)) in dac33_set_fifo_mode()
612 static int dac33_set_bias_level(struct snd_soc_component *component, in dac33_set_bias_level() argument
623 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { in dac33_set_bias_level()
625 ret = dac33_hard_power(component, 1); in dac33_set_bias_level()
629 dac33_init_chip(component); in dac33_set_bias_level()
634 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) in dac33_set_bias_level()
636 ret = dac33_hard_power(component, 0); in dac33_set_bias_level()
647 struct snd_soc_component *component = dac33->component; in dac33_prefill_handler() local
653 dac33_write16(component, DAC33_NSAMPLE_MSB, in dac33_prefill_handler()
662 dac33_write16(component, DAC33_PREFILL_MSB, in dac33_prefill_handler()
668 dac33_write(component, DAC33_FIFO_IRQ_MASK, DAC33_MAT); in dac33_prefill_handler()
678 dac33_write16(component, DAC33_PREFILL_MSB, in dac33_prefill_handler()
682 dac33_write(component, DAC33_FIFO_IRQ_MASK, DAC33_MUT); in dac33_prefill_handler()
685 dev_warn(component->dev, "Unhandled FIFO mode: %d\n", in dac33_prefill_handler()
693 struct snd_soc_component *component = dac33->component; in dac33_playback_handler() local
703 dac33_write16(component, DAC33_NSAMPLE_MSB, in dac33_playback_handler()
710 dev_warn(component->dev, "Unhandled FIFO mode: %d\n", in dac33_playback_handler()
718 struct snd_soc_component *component; in dac33_work() local
723 component = dac33->component; in dac33_work()
739 dac33_write(component, DAC33_FIFO_IRQ_MASK, 0); in dac33_work()
742 reg = dac33_read_reg_cache(component, DAC33_FIFO_CTRL_A); in dac33_work()
744 dac33_write(component, DAC33_FIFO_CTRL_A, reg); in dac33_work()
752 struct snd_soc_component *component = dev; in dac33_interrupt_handler() local
753 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_interrupt_handler()
767 static void dac33_oscwait(struct snd_soc_component *component) in dac33_oscwait() argument
774 dac33_read(component, DAC33_INT_OSC_STATUS, &reg); in dac33_oscwait()
777 dev_err(component->dev, in dac33_oscwait()
784 struct snd_soc_component *component = dai->component; in dac33_startup() local
785 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_startup()
796 struct snd_soc_component *component = dai->component; in dac33_shutdown() local
797 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_shutdown()
808 struct snd_soc_component *component = dai->component; in dac33_hw_params() local
809 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_hw_params()
817 dev_err(component->dev, "unsupported rate %d\n", in dac33_hw_params()
832 dev_err(component->dev, "unsupported width %d\n", in dac33_hw_params()
851 struct snd_soc_component *component) in dac33_prepare_chip() argument
853 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_prepare_chip()
865 dev_err(component->dev, "unsupported rate %d\n", in dac33_prepare_chip()
871 aictrl_a = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_A); in dac33_prepare_chip()
874 fifoctrl_a = dac33_read_reg_cache(component, DAC33_FIFO_CTRL_A); in dac33_prepare_chip()
887 dev_err(component->dev, "unsupported format %d\n", in dac33_prepare_chip()
903 dac33_soft_power(component, 0); in dac33_prepare_chip()
904 dac33_soft_power(component, 1); in dac33_prepare_chip()
906 reg_tmp = dac33_read_reg_cache(component, DAC33_INT_OSC_CTRL); in dac33_prepare_chip()
907 dac33_write(component, DAC33_INT_OSC_CTRL, reg_tmp); in dac33_prepare_chip()
910 dac33_write16(component, DAC33_INT_OSC_FREQ_RAT_A, oscset); in dac33_prepare_chip()
913 dac33_write(component, DAC33_CALIB_TIME, 96); in dac33_prepare_chip()
916 dac33_write(component, DAC33_INT_OSC_CTRL_B, DAC33_ADJTHRSHLD(2) | in dac33_prepare_chip()
920 dac33_write(component, DAC33_INT_OSC_CTRL_C, DAC33_REFDIV(4)); in dac33_prepare_chip()
922 pwr_ctrl = dac33_read_reg_cache(component, DAC33_PWR_CTRL); in dac33_prepare_chip()
924 dac33_write(component, DAC33_PWR_CTRL, pwr_ctrl); in dac33_prepare_chip()
926 dac33_oscwait(component); in dac33_prepare_chip()
931 dac33_write(component, DAC33_ASRC_CTRL_A, DAC33_SRCLKDIV(1)); in dac33_prepare_chip()
932 dac33_write(component, DAC33_ASRC_CTRL_B, 1); /* ??? */ in dac33_prepare_chip()
935 dac33_write16(component, DAC33_SRC_REF_CLK_RATIO_A, ratioset); in dac33_prepare_chip()
938 dac33_write(component, DAC33_INTP_CTRL_A, DAC33_INTPM_AHIGH); in dac33_prepare_chip()
942 dac33_write(component, DAC33_ASRC_CTRL_A, DAC33_SRCBYP); in dac33_prepare_chip()
943 dac33_write(component, DAC33_ASRC_CTRL_B, 0); /* ??? */ in dac33_prepare_chip()
949 dac33_write(component, DAC33_FIFO_IRQ_MODE_B, in dac33_prepare_chip()
953 dac33_write(component, DAC33_FIFO_IRQ_MODE_A, in dac33_prepare_chip()
961 aictrl_b = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_B); in dac33_prepare_chip()
1003 dac33_write(component, DAC33_FIFO_CTRL_A, fifoctrl_a); in dac33_prepare_chip()
1004 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_A, aictrl_a); in dac33_prepare_chip()
1005 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_B, aictrl_b); in dac33_prepare_chip()
1017 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_C, in dac33_prepare_chip()
1021 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_C, 32); in dac33_prepare_chip()
1023 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_C, 16); in dac33_prepare_chip()
1027 dac33_write16(component, DAC33_ATHR_MSB, in dac33_prepare_chip()
1035 dac33_write16(component, DAC33_UTHR_MSB, DAC33_THRREG(dac33->uthr)); in dac33_prepare_chip()
1036 dac33_write16(component, DAC33_LTHR_MSB, in dac33_prepare_chip()
1049 struct snd_soc_component *component) in dac33_calculate_times() argument
1051 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_calculate_times()
1108 struct snd_soc_component *component = dai->component; in dac33_pcm_trigger() local
1109 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_pcm_trigger()
1140 struct snd_soc_component *component = dai->component; in dac33_dai_delay() local
1141 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_dai_delay()
1273 dev_warn(component->dev, "Unhandled FIFO mode: %d\n", in dac33_dai_delay()
1284 struct snd_soc_component *component = codec_dai->component; in dac33_set_dai_sysclk() local
1285 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_set_dai_sysclk()
1288 ioc_reg = dac33_read_reg_cache(component, DAC33_INT_OSC_CTRL); in dac33_set_dai_sysclk()
1289 asrcb_reg = dac33_read_reg_cache(component, DAC33_ASRC_CTRL_B); in dac33_set_dai_sysclk()
1300 dev_err(component->dev, "Invalid clock ID (%d)\n", clk_id); in dac33_set_dai_sysclk()
1305 dac33_write_reg_cache(component, DAC33_INT_OSC_CTRL, ioc_reg); in dac33_set_dai_sysclk()
1306 dac33_write_reg_cache(component, DAC33_ASRC_CTRL_B, asrcb_reg); in dac33_set_dai_sysclk()
1314 struct snd_soc_component *component = codec_dai->component; in dac33_set_dai_fmt() local
1315 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_set_dai_fmt()
1318 aictrl_a = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_A); in dac33_set_dai_fmt()
1319 aictrl_b = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_B); in dac33_set_dai_fmt()
1327 dev_err(component->dev, "FIFO mode requires provider mode\n"); in dac33_set_dai_fmt()
1353 dev_err(component->dev, "Unsupported format (%u)\n", in dac33_set_dai_fmt()
1358 dac33_write_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_A, aictrl_a); in dac33_set_dai_fmt()
1359 dac33_write_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_B, aictrl_b); in dac33_set_dai_fmt()
1364 static int dac33_soc_probe(struct snd_soc_component *component) in dac33_soc_probe() argument
1366 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_soc_probe()
1369 dac33->component = component; in dac33_soc_probe()
1372 ret = dac33_hard_power(component, 1); in dac33_soc_probe()
1374 dev_err(component->dev, "Failed to power up component: %d\n", ret); in dac33_soc_probe()
1377 ret = dac33_read_id(component); in dac33_soc_probe()
1378 dac33_hard_power(component, 0); in dac33_soc_probe()
1381 dev_err(component->dev, "Failed to read chip ID: %d\n", ret); in dac33_soc_probe()
1390 component->name, component); in dac33_soc_probe()
1392 dev_err(component->dev, "Could not request IRQ%d (%d)\n", in dac33_soc_probe()
1403 snd_soc_add_component_controls(component, dac33_mode_snd_controls, in dac33_soc_probe()
1410 static void dac33_soc_remove(struct snd_soc_component *component) in dac33_soc_remove() argument
1412 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_soc_remove()
1415 free_irq(dac33->irq, dac33->component); in dac33_soc_remove()
1544 dac33_hard_power(dac33->component, 0); in dac33_i2c_remove()