Home
last modified time | relevance | path

Searched refs:cs35l56 (Results 1 – 11 of 11) sorted by relevance

/linux-6.12.1/sound/pci/hda/
Dcs35l56_hda.c53 static void cs35l56_hda_wait_dsp_ready(struct cs35l56_hda *cs35l56) in cs35l56_hda_wait_dsp_ready() argument
56 flush_work(&cs35l56->dsp_work); in cs35l56_hda_wait_dsp_ready()
59 static void cs35l56_hda_play(struct cs35l56_hda *cs35l56) in cs35l56_hda_play() argument
64 cs35l56_hda_wait_dsp_ready(cs35l56); in cs35l56_hda_play()
66 pm_runtime_get_sync(cs35l56->base.dev); in cs35l56_hda_play()
67 ret = cs35l56_mbox_send(&cs35l56->base, CS35L56_MBOX_CMD_AUDIO_PLAY); in cs35l56_hda_play()
70 ret = regmap_read_poll_timeout(cs35l56->base.regmap, in cs35l56_hda_play()
76 dev_warn(cs35l56->base.dev, "PS0 wait failed: %d\n", ret); in cs35l56_hda_play()
78 regmap_set_bits(cs35l56->base.regmap, CS35L56_ASP1_ENABLES1, in cs35l56_hda_play()
80 cs35l56->asp_tx_mask); in cs35l56_hda_play()
[all …]
Dcs35l56_hda_spi.c17 struct cs35l56_hda *cs35l56; in cs35l56_hda_spi_probe() local
20 cs35l56 = devm_kzalloc(&spi->dev, sizeof(*cs35l56), GFP_KERNEL); in cs35l56_hda_spi_probe()
21 if (!cs35l56) in cs35l56_hda_spi_probe()
24 cs35l56->base.dev = &spi->dev; in cs35l56_hda_spi_probe()
27 cs35l56->base.can_hibernate = true; in cs35l56_hda_spi_probe()
29 cs35l56->base.regmap = devm_regmap_init_spi(spi, &cs35l56_regmap_spi); in cs35l56_hda_spi_probe()
30 if (IS_ERR(cs35l56->base.regmap)) { in cs35l56_hda_spi_probe()
31 ret = PTR_ERR(cs35l56->base.regmap); in cs35l56_hda_spi_probe()
32 dev_err(cs35l56->base.dev, "Failed to allocate register map: %d\n", in cs35l56_hda_spi_probe()
37 ret = cs35l56_hda_common_probe(cs35l56, id->driver_data, spi_get_chipselect(spi, 0)); in cs35l56_hda_spi_probe()
[all …]
Dcs35l56_hda_i2c.c17 struct cs35l56_hda *cs35l56; in cs35l56_hda_i2c_probe() local
20 cs35l56 = devm_kzalloc(&clt->dev, sizeof(*cs35l56), GFP_KERNEL); in cs35l56_hda_i2c_probe()
21 if (!cs35l56) in cs35l56_hda_i2c_probe()
24 cs35l56->base.dev = &clt->dev; in cs35l56_hda_i2c_probe()
27 cs35l56->base.can_hibernate = true; in cs35l56_hda_i2c_probe()
29 cs35l56->base.regmap = devm_regmap_init_i2c(clt, &cs35l56_regmap_i2c); in cs35l56_hda_i2c_probe()
30 if (IS_ERR(cs35l56->base.regmap)) { in cs35l56_hda_i2c_probe()
31 ret = PTR_ERR(cs35l56->base.regmap); in cs35l56_hda_i2c_probe()
32 dev_err(cs35l56->base.dev, "Failed to allocate register map: %d\n", in cs35l56_hda_i2c_probe()
37 ret = cs35l56_hda_common_probe(cs35l56, id->driver_data, clt->addr); in cs35l56_hda_i2c_probe()
[all …]
DMakefile37 snd-hda-scodec-cs35l56-y := cs35l56_hda.o
38 snd-hda-scodec-cs35l56-i2c-y := cs35l56_hda_i2c.o
39 snd-hda-scodec-cs35l56-spi-y := cs35l56_hda_spi.o
69 obj-$(CONFIG_SND_HDA_SCODEC_CS35L56) += snd-hda-scodec-cs35l56.o
70 obj-$(CONFIG_SND_HDA_SCODEC_CS35L56_I2C) += snd-hda-scodec-cs35l56-i2c.o
71 obj-$(CONFIG_SND_HDA_SCODEC_CS35L56_SPI) += snd-hda-scodec-cs35l56-spi.o
Dcs35l56_hda.h47 int cs35l56_hda_common_probe(struct cs35l56_hda *cs35l56, int hid, int id);
/linux-6.12.1/sound/soc/codecs/
Dcs35l56.c40 static void cs35l56_wait_dsp_ready(struct cs35l56_private *cs35l56) in cs35l56_wait_dsp_ready() argument
43 flush_work(&cs35l56->dsp_work); in cs35l56_wait_dsp_ready()
50 struct cs35l56_private *cs35l56 = snd_soc_component_get_drvdata(component); in cs35l56_dspwait_get_volsw() local
52 cs35l56_wait_dsp_ready(cs35l56); in cs35l56_dspwait_get_volsw()
60 struct cs35l56_private *cs35l56 = snd_soc_component_get_drvdata(component); in cs35l56_dspwait_put_volsw() local
62 cs35l56_wait_dsp_ready(cs35l56); in cs35l56_dspwait_put_volsw()
163 struct cs35l56_private *cs35l56 = snd_soc_component_get_drvdata(component); in cs35l56_play_event() local
167 dev_dbg(cs35l56->base.dev, "play: %d\n", event); in cs35l56_play_event()
172 return regmap_write(cs35l56->base.regmap, CS35L56_DSP_VIRTUAL1_MBOX_1, in cs35l56_play_event()
176 ret = regmap_read_poll_timeout(cs35l56->base.regmap, in cs35l56_play_event()
[all …]
Dcs35l56-sdw.c241 static int cs35l56_sdw_set_cal_index(struct cs35l56_private *cs35l56) in cs35l56_sdw_set_cal_index() argument
246 ret = sdw_read_no_pm(cs35l56->sdw_peripheral, SDW_SCP_DEVID_0); in cs35l56_sdw_set_cal_index()
250 cs35l56->base.cal_index = ret & 0xf; in cs35l56_sdw_set_cal_index()
257 struct cs35l56_private *cs35l56 = dev_get_drvdata(&peripheral->dev); in cs35l56_sdw_init() local
260 pm_runtime_get_noresume(cs35l56->base.dev); in cs35l56_sdw_init()
262 if (cs35l56->base.cal_index < 0) { in cs35l56_sdw_init()
263 ret = cs35l56_sdw_set_cal_index(cs35l56); in cs35l56_sdw_init()
268 ret = cs35l56_init(cs35l56); in cs35l56_sdw_init()
270 regcache_cache_only(cs35l56->base.regmap, true); in cs35l56_sdw_init()
278 if (cs35l56->base.init_done) { in cs35l56_sdw_init()
[all …]
Dcs35l56-i2c.c20 struct cs35l56_private *cs35l56; in cs35l56_i2c_probe() local
25 cs35l56 = devm_kzalloc(dev, sizeof(struct cs35l56_private), GFP_KERNEL); in cs35l56_i2c_probe()
26 if (!cs35l56) in cs35l56_i2c_probe()
29 cs35l56->base.dev = dev; in cs35l56_i2c_probe()
30 cs35l56->base.can_hibernate = true; in cs35l56_i2c_probe()
32 i2c_set_clientdata(client, cs35l56); in cs35l56_i2c_probe()
33 cs35l56->base.regmap = devm_regmap_init_i2c(client, regmap_config); in cs35l56_i2c_probe()
34 if (IS_ERR(cs35l56->base.regmap)) { in cs35l56_i2c_probe()
35 ret = PTR_ERR(cs35l56->base.regmap); in cs35l56_i2c_probe()
36 return dev_err_probe(cs35l56->base.dev, ret, "Failed to allocate register map\n"); in cs35l56_i2c_probe()
[all …]
Dcs35l56-spi.c20 struct cs35l56_private *cs35l56; in cs35l56_spi_probe() local
23 cs35l56 = devm_kzalloc(&spi->dev, sizeof(struct cs35l56_private), GFP_KERNEL); in cs35l56_spi_probe()
24 if (!cs35l56) in cs35l56_spi_probe()
27 spi_set_drvdata(spi, cs35l56); in cs35l56_spi_probe()
28 cs35l56->base.regmap = devm_regmap_init_spi(spi, regmap_config); in cs35l56_spi_probe()
29 if (IS_ERR(cs35l56->base.regmap)) { in cs35l56_spi_probe()
30 ret = PTR_ERR(cs35l56->base.regmap); in cs35l56_spi_probe()
34 cs35l56->base.dev = &spi->dev; in cs35l56_spi_probe()
35 cs35l56->base.can_hibernate = true; in cs35l56_spi_probe()
37 ret = cs35l56_common_probe(cs35l56); in cs35l56_spi_probe()
[all …]
Dcs35l56.h66 int cs35l56_common_probe(struct cs35l56_private *cs35l56);
67 int cs35l56_init(struct cs35l56_private *cs35l56);
68 void cs35l56_remove(struct cs35l56_private *cs35l56);
DMakefile77 snd-soc-cs35l56-y := cs35l56.o
78 snd-soc-cs35l56-shared-y := cs35l56-shared.o
79 snd-soc-cs35l56-i2c-y := cs35l56-i2c.o
80 snd-soc-cs35l56-spi-y := cs35l56-spi.o
81 snd-soc-cs35l56-sdw-y := cs35l56-sdw.o
484 obj-$(CONFIG_SND_SOC_CS35L56) += snd-soc-cs35l56.o
485 obj-$(CONFIG_SND_SOC_CS35L56_SHARED) += snd-soc-cs35l56-shared.o
486 obj-$(CONFIG_SND_SOC_CS35L56_I2C) += snd-soc-cs35l56-i2c.o
487 obj-$(CONFIG_SND_SOC_CS35L56_SPI) += snd-soc-cs35l56-spi.o
488 obj-$(CONFIG_SND_SOC_CS35L56_SDW) += snd-soc-cs35l56-sdw.o