• Home
  • Raw
  • Download

Lines Matching full:component

66 				  struct snd_soc_component *component);
68 struct snd_soc_component *component);
94 struct snd_soc_component *component; member
174 static inline unsigned int dac33_read_reg_cache(struct snd_soc_component *component, in dac33_read_reg_cache() argument
177 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_read_reg_cache()
185 static inline void dac33_write_reg_cache(struct snd_soc_component *component, in dac33_write_reg_cache() argument
188 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_write_reg_cache()
196 static int dac33_read(struct snd_soc_component *component, unsigned int reg, in dac33_read() argument
199 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_read()
208 dev_err(component->dev, "Read failed (%d)\n", val); in dac33_read()
209 value[0] = dac33_read_reg_cache(component, reg); in dac33_read()
213 dac33_write_reg_cache(component, reg, val); in dac33_read()
216 value[0] = dac33_read_reg_cache(component, reg); in dac33_read()
222 static int dac33_write(struct snd_soc_component *component, unsigned int reg, in dac33_write() argument
225 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_write()
237 dac33_write_reg_cache(component, data[0], data[1]); in dac33_write()
241 dev_err(component->dev, "Write failed (%d)\n", ret); in dac33_write()
249 static int dac33_write_locked(struct snd_soc_component *component, unsigned int reg, in dac33_write_locked() argument
252 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_write_locked()
256 ret = dac33_write(component, reg, value); in dac33_write_locked()
263 static int dac33_write16(struct snd_soc_component *component, unsigned int reg, in dac33_write16() argument
266 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_write16()
280 dac33_write_reg_cache(component, data[0], data[1]); in dac33_write16()
281 dac33_write_reg_cache(component, data[0] + 1, data[2]); in dac33_write16()
288 dev_err(component->dev, "Write failed (%d)\n", ret); in dac33_write16()
296 static void dac33_init_chip(struct snd_soc_component *component) in dac33_init_chip() argument
298 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_init_chip()
304 dac33_write(component, DAC33_DAC_CTRL_A, DAC33_DACRATE(0)); in dac33_init_chip()
306 dac33_write(component, DAC33_DAC_CTRL_B, DAC33_DACSRCR_RIGHT | in dac33_init_chip()
309 dac33_write(component, DAC33_DAC_CTRL_C, 0x00); in dac33_init_chip()
313 dac33_write(component, DAC33_ANA_VOL_SOFT_STEP_CTRL, DAC33_VOLCLKEN); in dac33_init_chip()
316 dac33_write(component, DAC33_LDAC_DIG_VOL_CTRL, in dac33_init_chip()
317 dac33_read_reg_cache(component, DAC33_LDAC_DIG_VOL_CTRL)); in dac33_init_chip()
318 dac33_write(component, DAC33_RDAC_DIG_VOL_CTRL, in dac33_init_chip()
319 dac33_read_reg_cache(component, DAC33_RDAC_DIG_VOL_CTRL)); in dac33_init_chip()
321 dac33_write(component, DAC33_LINEL_TO_LLO_VOL, in dac33_init_chip()
322 dac33_read_reg_cache(component, DAC33_LINEL_TO_LLO_VOL)); in dac33_init_chip()
323 dac33_write(component, DAC33_LINER_TO_RLO_VOL, in dac33_init_chip()
324 dac33_read_reg_cache(component, DAC33_LINER_TO_RLO_VOL)); in dac33_init_chip()
326 dac33_write(component, DAC33_OUT_AMP_CTRL, in dac33_init_chip()
327 dac33_read_reg_cache(component, DAC33_OUT_AMP_CTRL)); in dac33_init_chip()
329 dac33_write(component, DAC33_LDAC_PWR_CTRL, in dac33_init_chip()
330 dac33_read_reg_cache(component, DAC33_LDAC_PWR_CTRL)); in dac33_init_chip()
331 dac33_write(component, DAC33_RDAC_PWR_CTRL, in dac33_init_chip()
332 dac33_read_reg_cache(component, DAC33_RDAC_PWR_CTRL)); in dac33_init_chip()
335 static inline int dac33_read_id(struct snd_soc_component *component) in dac33_read_id() argument
341 ret = dac33_read(component, DAC33_DEVICE_ID_MSB + i, &reg); in dac33_read_id()
349 static inline void dac33_soft_power(struct snd_soc_component *component, int power) in dac33_soft_power() argument
353 reg = dac33_read_reg_cache(component, DAC33_PWR_CTRL); in dac33_soft_power()
359 dac33_write(component, DAC33_PWR_CTRL, reg); in dac33_soft_power()
362 static inline void dac33_disable_digital(struct snd_soc_component *component) in dac33_disable_digital() argument
367 reg = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_B); in dac33_disable_digital()
369 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_B, reg); in dac33_disable_digital()
372 reg = dac33_read_reg_cache(component, DAC33_PWR_CTRL); in dac33_disable_digital()
374 dac33_write(component, DAC33_PWR_CTRL, reg); in dac33_disable_digital()
377 static int dac33_hard_power(struct snd_soc_component *component, int power) in dac33_hard_power() argument
379 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_hard_power()
386 dev_dbg(component->dev, "Trying to set the same power state: %s\n", in dac33_hard_power()
395 dev_err(component->dev, in dac33_hard_power()
405 dac33_soft_power(component, 0); in dac33_hard_power()
412 dev_err(component->dev, in dac33_hard_power()
428 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in dac33_playback_event() local
429 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_playback_event()
434 dac33_calculate_times(dac33->substream, component); in dac33_playback_event()
435 dac33_prepare_chip(dac33->substream, component); in dac33_playback_event()
439 dac33_disable_digital(component); in dac33_playback_event()
448 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in dac33_get_fifo_mode() local
449 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_get_fifo_mode()
459 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in dac33_set_fifo_mode() local
460 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_set_fifo_mode()
466 if (snd_soc_component_is_active(component)) in dac33_set_fifo_mode()
626 static int dac33_set_bias_level(struct snd_soc_component *component, in dac33_set_bias_level() argument
637 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { in dac33_set_bias_level()
638 /* Coming from OFF, switch on the component */ in dac33_set_bias_level()
639 ret = dac33_hard_power(component, 1); in dac33_set_bias_level()
643 dac33_init_chip(component); in dac33_set_bias_level()
647 /* Do not power off, when the component is already off */ in dac33_set_bias_level()
648 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) in dac33_set_bias_level()
650 ret = dac33_hard_power(component, 0); in dac33_set_bias_level()
661 struct snd_soc_component *component = dac33->component; in dac33_prefill_handler() local
667 dac33_write16(component, DAC33_NSAMPLE_MSB, in dac33_prefill_handler()
676 dac33_write16(component, DAC33_PREFILL_MSB, in dac33_prefill_handler()
682 dac33_write(component, DAC33_FIFO_IRQ_MASK, DAC33_MAT); in dac33_prefill_handler()
692 dac33_write16(component, DAC33_PREFILL_MSB, in dac33_prefill_handler()
696 dac33_write(component, DAC33_FIFO_IRQ_MASK, DAC33_MUT); in dac33_prefill_handler()
699 dev_warn(component->dev, "Unhandled FIFO mode: %d\n", in dac33_prefill_handler()
707 struct snd_soc_component *component = dac33->component; in dac33_playback_handler() local
717 dac33_write16(component, DAC33_NSAMPLE_MSB, in dac33_playback_handler()
724 dev_warn(component->dev, "Unhandled FIFO mode: %d\n", in dac33_playback_handler()
732 struct snd_soc_component *component; in dac33_work() local
737 component = dac33->component; in dac33_work()
753 dac33_write(component, DAC33_FIFO_IRQ_MASK, 0); in dac33_work()
756 reg = dac33_read_reg_cache(component, DAC33_FIFO_CTRL_A); in dac33_work()
758 dac33_write(component, DAC33_FIFO_CTRL_A, reg); in dac33_work()
766 struct snd_soc_component *component = dev; in dac33_interrupt_handler() local
767 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_interrupt_handler()
781 static void dac33_oscwait(struct snd_soc_component *component) in dac33_oscwait() argument
788 dac33_read(component, DAC33_INT_OSC_STATUS, &reg); in dac33_oscwait()
791 dev_err(component->dev, in dac33_oscwait()
798 struct snd_soc_component *component = dai->component; in dac33_startup() local
799 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_startup()
810 struct snd_soc_component *component = dai->component; in dac33_shutdown() local
811 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_shutdown()
822 struct snd_soc_component *component = dai->component; in dac33_hw_params() local
823 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_hw_params()
831 dev_err(component->dev, "unsupported rate %d\n", in dac33_hw_params()
846 dev_err(component->dev, "unsupported width %d\n", in dac33_hw_params()
865 struct snd_soc_component *component) in dac33_prepare_chip() argument
867 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_prepare_chip()
879 dev_err(component->dev, "unsupported rate %d\n", in dac33_prepare_chip()
885 aictrl_a = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_A); in dac33_prepare_chip()
888 fifoctrl_a = dac33_read_reg_cache(component, DAC33_FIFO_CTRL_A); in dac33_prepare_chip()
901 dev_err(component->dev, "unsupported format %d\n", in dac33_prepare_chip()
917 dac33_soft_power(component, 0); in dac33_prepare_chip()
918 dac33_soft_power(component, 1); in dac33_prepare_chip()
920 reg_tmp = dac33_read_reg_cache(component, DAC33_INT_OSC_CTRL); in dac33_prepare_chip()
921 dac33_write(component, DAC33_INT_OSC_CTRL, reg_tmp); in dac33_prepare_chip()
924 dac33_write16(component, DAC33_INT_OSC_FREQ_RAT_A, oscset); in dac33_prepare_chip()
927 dac33_write(component, DAC33_CALIB_TIME, 96); in dac33_prepare_chip()
930 dac33_write(component, DAC33_INT_OSC_CTRL_B, DAC33_ADJTHRSHLD(2) | in dac33_prepare_chip()
934 dac33_write(component, DAC33_INT_OSC_CTRL_C, DAC33_REFDIV(4)); in dac33_prepare_chip()
936 pwr_ctrl = dac33_read_reg_cache(component, DAC33_PWR_CTRL); in dac33_prepare_chip()
938 dac33_write(component, DAC33_PWR_CTRL, pwr_ctrl); in dac33_prepare_chip()
940 dac33_oscwait(component); in dac33_prepare_chip()
945 dac33_write(component, DAC33_ASRC_CTRL_A, DAC33_SRCLKDIV(1)); in dac33_prepare_chip()
946 dac33_write(component, DAC33_ASRC_CTRL_B, 1); /* ??? */ in dac33_prepare_chip()
949 dac33_write16(component, DAC33_SRC_REF_CLK_RATIO_A, ratioset); in dac33_prepare_chip()
952 dac33_write(component, DAC33_INTP_CTRL_A, DAC33_INTPM_AHIGH); in dac33_prepare_chip()
956 dac33_write(component, DAC33_ASRC_CTRL_A, DAC33_SRCBYP); in dac33_prepare_chip()
957 dac33_write(component, DAC33_ASRC_CTRL_B, 0); /* ??? */ in dac33_prepare_chip()
963 dac33_write(component, DAC33_FIFO_IRQ_MODE_B, in dac33_prepare_chip()
967 dac33_write(component, DAC33_FIFO_IRQ_MODE_A, in dac33_prepare_chip()
975 aictrl_b = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_B); in dac33_prepare_chip()
1017 dac33_write(component, DAC33_FIFO_CTRL_A, fifoctrl_a); in dac33_prepare_chip()
1018 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_A, aictrl_a); in dac33_prepare_chip()
1019 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_B, aictrl_b); in dac33_prepare_chip()
1031 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_C, in dac33_prepare_chip()
1035 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_C, 32); in dac33_prepare_chip()
1037 dac33_write(component, DAC33_SER_AUDIOIF_CTRL_C, 16); in dac33_prepare_chip()
1041 dac33_write16(component, DAC33_ATHR_MSB, in dac33_prepare_chip()
1049 dac33_write16(component, DAC33_UTHR_MSB, DAC33_THRREG(dac33->uthr)); in dac33_prepare_chip()
1050 dac33_write16(component, DAC33_LTHR_MSB, in dac33_prepare_chip()
1063 struct snd_soc_component *component) in dac33_calculate_times() argument
1065 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_calculate_times()
1122 struct snd_soc_component *component = dai->component; in dac33_pcm_trigger() local
1123 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_pcm_trigger()
1154 struct snd_soc_component *component = dai->component; in dac33_dai_delay() local
1155 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_dai_delay()
1287 dev_warn(component->dev, "Unhandled FIFO mode: %d\n", in dac33_dai_delay()
1298 struct snd_soc_component *component = codec_dai->component; in dac33_set_dai_sysclk() local
1299 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_set_dai_sysclk()
1302 ioc_reg = dac33_read_reg_cache(component, DAC33_INT_OSC_CTRL); in dac33_set_dai_sysclk()
1303 asrcb_reg = dac33_read_reg_cache(component, DAC33_ASRC_CTRL_B); in dac33_set_dai_sysclk()
1314 dev_err(component->dev, "Invalid clock ID (%d)\n", clk_id); in dac33_set_dai_sysclk()
1319 dac33_write_reg_cache(component, DAC33_INT_OSC_CTRL, ioc_reg); in dac33_set_dai_sysclk()
1320 dac33_write_reg_cache(component, DAC33_ASRC_CTRL_B, asrcb_reg); in dac33_set_dai_sysclk()
1328 struct snd_soc_component *component = codec_dai->component; in dac33_set_dai_fmt() local
1329 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_set_dai_fmt()
1332 aictrl_a = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_A); in dac33_set_dai_fmt()
1333 aictrl_b = dac33_read_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_B); in dac33_set_dai_fmt()
1343 dev_err(component->dev, "FIFO mode requires master mode\n"); in dac33_set_dai_fmt()
1369 dev_err(component->dev, "Unsupported format (%u)\n", in dac33_set_dai_fmt()
1374 dac33_write_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_A, aictrl_a); in dac33_set_dai_fmt()
1375 dac33_write_reg_cache(component, DAC33_SER_AUDIOIF_CTRL_B, aictrl_b); in dac33_set_dai_fmt()
1380 static int dac33_soc_probe(struct snd_soc_component *component) in dac33_soc_probe() argument
1382 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_soc_probe()
1385 dac33->component = component; in dac33_soc_probe()
1388 ret = dac33_hard_power(component, 1); in dac33_soc_probe()
1390 dev_err(component->dev, "Failed to power up component: %d\n", ret); in dac33_soc_probe()
1393 ret = dac33_read_id(component); in dac33_soc_probe()
1394 dac33_hard_power(component, 0); in dac33_soc_probe()
1397 dev_err(component->dev, "Failed to read chip ID: %d\n", ret); in dac33_soc_probe()
1406 component->name, component); in dac33_soc_probe()
1408 dev_err(component->dev, "Could not request IRQ%d (%d)\n", in dac33_soc_probe()
1419 snd_soc_add_component_controls(component, dac33_mode_snd_controls, in dac33_soc_probe()
1426 static void dac33_soc_remove(struct snd_soc_component *component) in dac33_soc_remove() argument
1428 struct tlv320dac33_priv *dac33 = snd_soc_component_get_drvdata(component); in dac33_soc_remove()
1431 free_irq(dac33->irq, dac33->component); in dac33_soc_remove()
1562 dac33_hard_power(dac33->component, 0); in dac33_i2c_remove()