/linux-6.12.1/sound/pci/hda/ |
D | cs35l56_hda.c | 53 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 …]
|
D | cs35l56_hda_spi.c | 17 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 …]
|
D | cs35l56_hda_i2c.c | 17 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 …]
|
D | Makefile | 37 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
|
D | cs35l56_hda.h | 47 int cs35l56_hda_common_probe(struct cs35l56_hda *cs35l56, int hid, int id);
|
/linux-6.12.1/sound/soc/codecs/ |
D | cs35l56.c | 40 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 …]
|
D | cs35l56-sdw.c | 241 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 …]
|
D | cs35l56-i2c.c | 20 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 …]
|
D | cs35l56-spi.c | 20 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 …]
|
D | cs35l56.h | 66 int cs35l56_common_probe(struct cs35l56_private *cs35l56); 67 int cs35l56_init(struct cs35l56_private *cs35l56); 68 void cs35l56_remove(struct cs35l56_private *cs35l56);
|
D | Makefile | 77 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
|