Home
last modified time | relevance | path

Searched refs:afe (Results 1 – 25 of 56) sorted by relevance

123

/Linux-v4.19/sound/soc/mediatek/common/
Dmtk-afe-fe-dai.c39 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_afe_fe_startup() local
42 struct mtk_base_afe_memif *memif = &afe->memif[memif_num]; in mtk_afe_fe_startup()
43 const struct snd_pcm_hardware *mtk_afe_hardware = afe->mtk_afe_hardware; in mtk_afe_fe_startup()
51 mtk_regmap_update_bits(afe->regmap, memif->data->agent_disable_reg, in mtk_afe_fe_startup()
70 dev_err(afe->dev, "hw_constraint_minmax failed\n"); in mtk_afe_fe_startup()
78 dev_err(afe->dev, "snd_pcm_hw_constraint_integer failed\n"); in mtk_afe_fe_startup()
82 int irq_id = mtk_dynamic_irq_acquire(afe); in mtk_afe_fe_startup()
84 if (irq_id != afe->irqs_size) { in mtk_afe_fe_startup()
88 dev_err(afe->dev, "%s() error: no more asys irq\n", in mtk_afe_fe_startup()
101 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_afe_fe_shutdown() local
[all …]
Dmtk-afe-platform-driver.c16 int mtk_afe_combine_sub_dai(struct mtk_base_afe *afe) in mtk_afe_combine_sub_dai() argument
22 list_for_each_entry(dai, &afe->sub_dais, list) { in mtk_afe_combine_sub_dai()
26 dev_info(afe->dev, "%s(), num of dai %zd\n", __func__, num_dai_drivers); in mtk_afe_combine_sub_dai()
29 afe->num_dai_drivers = num_dai_drivers; in mtk_afe_combine_sub_dai()
30 afe->dai_drivers = devm_kcalloc(afe->dev, in mtk_afe_combine_sub_dai()
34 if (!afe->dai_drivers) in mtk_afe_combine_sub_dai()
37 list_for_each_entry(dai, &afe->sub_dais, list) { in mtk_afe_combine_sub_dai()
39 memcpy(&afe->dai_drivers[dai_idx], in mtk_afe_combine_sub_dai()
51 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component); in mtk_afe_add_sub_dai_control() local
54 list_for_each_entry(dai, &afe->sub_dais, list) { in mtk_afe_add_sub_dai_control()
[all …]
DMakefile3 snd-soc-mtk-common-objs := mtk-afe-platform-driver.o mtk-afe-fe-dai.o
Dmtk-afe-fe-dai.h32 int mtk_dynamic_irq_acquire(struct mtk_base_afe *afe);
33 int mtk_dynamic_irq_release(struct mtk_base_afe *afe, int irq_id);
/Linux-v4.19/drivers/media/i2c/adv748x/
Dadv748x-afe.c59 static int adv748x_afe_status(struct adv748x_afe *afe, u32 *signal, in adv748x_afe_status() argument
62 struct adv748x_state *state = adv748x_afe_to_state(afe); in adv748x_afe_status()
116 static void adv748x_afe_fill_format(struct adv748x_afe *afe, in adv748x_afe_fill_format() argument
126 fmt->height = afe->curr_norm & V4L2_STD_525_60 ? 480 : 576; in adv748x_afe_fill_format()
161 static int adv748x_afe_s_input(struct adv748x_afe *afe, unsigned int input) in adv748x_afe_s_input() argument
163 struct adv748x_state *state = adv748x_afe_to_state(afe); in adv748x_afe_s_input()
171 struct adv748x_afe *afe = adv748x_sd_to_afe(sd); in adv748x_afe_g_pixelaspect() local
173 if (afe->curr_norm & V4L2_STD_525_60) { in adv748x_afe_g_pixelaspect()
190 struct adv748x_afe *afe = adv748x_sd_to_afe(sd); in adv748x_afe_g_std() local
192 *norm = afe->curr_norm; in adv748x_afe_g_std()
[all …]
/Linux-v4.19/drivers/iio/health/
Dafe4403.c144 struct afe4403_data *afe = iio_priv(indio_dev); in afe440x_show_register() local
150 ret = regmap_field_read(afe->fields[afe440x_attr->field], &reg_val); in afe440x_show_register()
168 struct afe4403_data *afe = iio_priv(indio_dev); in afe440x_store_register() local
183 ret = regmap_field_write(afe->fields[afe440x_attr->field], val); in afe440x_store_register()
220 static int afe4403_read(struct afe4403_data *afe, unsigned int reg, u32 *val) in afe4403_read() argument
227 ret = spi_write_then_read(afe->spi, tx, 4, NULL, 0); in afe4403_read()
231 ret = spi_write_then_read(afe->spi, &reg, 1, rx, 3); in afe4403_read()
241 ret = spi_write_then_read(afe->spi, tx, 4, NULL, 0); in afe4403_read()
252 struct afe4403_data *afe = iio_priv(indio_dev); in afe4403_read_raw() local
261 ret = afe4403_read(afe, reg, val); in afe4403_read_raw()
[all …]
Dafe4404.c178 struct afe4404_data *afe = iio_priv(indio_dev); in afe440x_show_register() local
184 ret = regmap_field_read(afe->fields[afe440x_attr->field], &reg_val); in afe440x_show_register()
202 struct afe4404_data *afe = iio_priv(indio_dev); in afe440x_store_register() local
217 ret = regmap_field_write(afe->fields[afe440x_attr->field], val); in afe440x_store_register()
258 struct afe4404_data *afe = iio_priv(indio_dev); in afe4404_read_raw() local
268 ret = regmap_read(afe->regmap, value_reg, val); in afe4404_read_raw()
273 ret = regmap_field_read(afe->fields[offdac_field], val); in afe4404_read_raw()
282 ret = regmap_field_read(afe->fields[led_field], val); in afe4404_read_raw()
303 struct afe4404_data *afe = iio_priv(indio_dev); in afe4404_write_raw() local
311 return regmap_field_write(afe->fields[offdac_field], val); in afe4404_write_raw()
[all …]
/Linux-v4.19/sound/soc/mediatek/mt2701/
Dmt2701-afe-clock-ctrl.c25 int mt2701_init_clock(struct mtk_base_afe *afe) in mt2701_init_clock() argument
27 struct mt2701_afe_private *afe_priv = afe->platform_priv; in mt2701_init_clock()
31 afe_priv->base_ck[i] = devm_clk_get(afe->dev, base_clks[i]); in mt2701_init_clock()
33 dev_err(afe->dev, "failed to get %s\n", base_clks[i]); in mt2701_init_clock()
45 i2s_path->sel_ck = devm_clk_get(afe->dev, name); in mt2701_init_clock()
47 dev_err(afe->dev, "failed to get %s\n", name); in mt2701_init_clock()
52 i2s_path->div_ck = devm_clk_get(afe->dev, name); in mt2701_init_clock()
54 dev_err(afe->dev, "failed to get %s\n", name); in mt2701_init_clock()
59 i2s_path->mclk_ck = devm_clk_get(afe->dev, name); in mt2701_init_clock()
61 dev_err(afe->dev, "failed to get %s\n", name); in mt2701_init_clock()
[all …]
Dmt2701-afe-pcm.c63 static int mt2701_dai_num_to_i2s(struct mtk_base_afe *afe, int num) in mt2701_dai_num_to_i2s() argument
65 struct mt2701_afe_private *afe_priv = afe->platform_priv; in mt2701_dai_num_to_i2s()
69 dev_err(afe->dev, "%s, num not available, num %d, val %d\n", in mt2701_dai_num_to_i2s()
90 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mt2701_afe_i2s_startup() local
91 struct mt2701_afe_private *afe_priv = afe->platform_priv; in mt2701_afe_i2s_startup()
92 int i2s_num = mt2701_dai_num_to_i2s(afe, dai->id); in mt2701_afe_i2s_startup()
98 return mt2701_afe_enable_mclk(afe, mode ? 1 : i2s_num); in mt2701_afe_i2s_startup()
101 static int mt2701_afe_i2s_path_disable(struct mtk_base_afe *afe, in mt2701_afe_i2s_path_disable() argument
114 regmap_update_bits(afe->regmap, i2s_data->i2s_ctrl_reg, in mt2701_afe_i2s_path_disable()
117 mt2701_afe_disable_i2s(afe, i2s_path, stream_dir); in mt2701_afe_i2s_path_disable()
[all …]
Dmt2701-afe-clock-ctrl.h16 int mt2701_init_clock(struct mtk_base_afe *afe);
17 int mt2701_afe_enable_clock(struct mtk_base_afe *afe);
18 int mt2701_afe_disable_clock(struct mtk_base_afe *afe);
20 int mt2701_afe_enable_i2s(struct mtk_base_afe *afe,
23 void mt2701_afe_disable_i2s(struct mtk_base_afe *afe,
26 int mt2701_afe_enable_mclk(struct mtk_base_afe *afe, int id);
27 void mt2701_afe_disable_mclk(struct mtk_base_afe *afe, int id);
29 int mt2701_enable_btmrg_clk(struct mtk_base_afe *afe);
30 void mt2701_disable_btmrg_clk(struct mtk_base_afe *afe);
32 int mt2701_mclk_configuration(struct mtk_base_afe *afe, int id);
DMakefile3 snd-soc-mt2701-afe-objs := mt2701-afe-pcm.o mt2701-afe-clock-ctrl.o
4 obj-$(CONFIG_SND_SOC_MT2701) += snd-soc-mt2701-afe.o
/Linux-v4.19/sound/soc/mediatek/mt8173/
Dmt8173-afe-pcm.c196 static int mt8173_afe_set_i2s(struct mtk_base_afe *afe, unsigned int rate) in mt8173_afe_set_i2s() argument
205 regmap_update_bits(afe->regmap, AFE_ADDA_TOP_CON0, 0x1, 0x1); in mt8173_afe_set_i2s()
206 regmap_update_bits(afe->regmap, AFE_ADDA2_TOP_CON0, 0x1, 0x1); in mt8173_afe_set_i2s()
213 regmap_update_bits(afe->regmap, AFE_I2S_CON2, ~AFE_I2S_CON2_EN, val); in mt8173_afe_set_i2s()
220 regmap_update_bits(afe->regmap, AFE_I2S_CON1, ~AFE_I2S_CON1_EN, val); in mt8173_afe_set_i2s()
224 static void mt8173_afe_set_i2s_enable(struct mtk_base_afe *afe, bool enable) in mt8173_afe_set_i2s_enable() argument
228 regmap_read(afe->regmap, AFE_I2S_CON2, &val); in mt8173_afe_set_i2s_enable()
233 regmap_update_bits(afe->regmap, AFE_I2S_CON2, 0x1, enable); in mt8173_afe_set_i2s_enable()
236 regmap_update_bits(afe->regmap, AFE_I2S_CON1, 0x1, enable); in mt8173_afe_set_i2s_enable()
239 static int mt8173_afe_dais_enable_clks(struct mtk_base_afe *afe, in mt8173_afe_dais_enable_clks() argument
[all …]
/Linux-v4.19/sound/soc/mediatek/mt6797/
Dmt6797-afe-pcm.c145 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component); in mt6797_memif_fs() local
148 return mt6797_rate_transform(afe->dev, rate, id); in mt6797_memif_fs()
156 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component); in mt6797_irq_fs() local
158 return mt6797_general_rate_transform(afe->dev, rate); in mt6797_irq_fs()
620 struct mtk_base_afe *afe = dev; in mt6797_afe_irq_handler() local
629 regmap_read(afe->regmap, AFE_IRQ_MCU_EN, &mcu_en); in mt6797_afe_irq_handler()
631 ret = regmap_read(afe->regmap, AFE_IRQ_MCU_STATUS, &status); in mt6797_afe_irq_handler()
633 dev_err(afe->dev, "%s(), irq status err, ret %d, status 0x%x, mcu_en 0x%x\n", in mt6797_afe_irq_handler()
644 struct mtk_base_afe_memif *memif = &afe->memif[i]; in mt6797_afe_irq_handler()
649 irq = &afe->irqs[memif->irq_usage]; in mt6797_afe_irq_handler()
[all …]
Dmt6797-dai-adda.c38 static unsigned int adda_dl_rate_transform(struct mtk_base_afe *afe, in adda_dl_rate_transform() argument
65 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_dl_rate_transform()
71 static unsigned int adda_ul_rate_transform(struct mtk_base_afe *afe, in adda_ul_rate_transform() argument
88 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_ul_rate_transform()
135 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_adda_ul_event() local
137 dev_dbg(afe->dev, "%s(), name %s, event 0x%x\n", in mtk_adda_ul_event()
234 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_adda_hw_params() local
237 dev_dbg(afe->dev, "%s(), id %d, stream %d, rate %d\n", in mtk_dai_adda_hw_params()
245 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON0, 0); in mtk_dai_adda_hw_params()
246 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON1, 0); in mtk_dai_adda_hw_params()
[all …]
Dmt6797-afe-clk.c34 int mt6797_init_clock(struct mtk_base_afe *afe) in mt6797_init_clock() argument
36 struct mt6797_afe_private *afe_priv = afe->platform_priv; in mt6797_init_clock()
39 afe_priv->clk = devm_kcalloc(afe->dev, CLK_NUM, sizeof(*afe_priv->clk), in mt6797_init_clock()
45 afe_priv->clk[i] = devm_clk_get(afe->dev, aud_clks[i]); in mt6797_init_clock()
47 dev_err(afe->dev, "%s(), devm_clk_get %s fail, ret %ld\n", in mt6797_init_clock()
57 int mt6797_afe_enable_clock(struct mtk_base_afe *afe) in mt6797_afe_enable_clock() argument
59 struct mt6797_afe_private *afe_priv = afe->platform_priv; in mt6797_afe_enable_clock()
64 dev_err(afe->dev, "%s(), clk_prepare_enable %s fail %d\n", in mt6797_afe_enable_clock()
71 dev_err(afe->dev, "%s(), clk_prepare_enable %s fail %d\n", in mt6797_afe_enable_clock()
78 dev_err(afe->dev, "%s(), clk_prepare_enable %s fail %d\n", in mt6797_afe_enable_clock()
[all …]
Dmt6797-dai-pcm.c185 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_pcm_hw_params() local
187 unsigned int rate_reg = mt6797_rate_transform(afe->dev, rate, dai->id); in mtk_dai_pcm_hw_params()
190 dev_dbg(afe->dev, "%s(), id %d, stream %d, rate %d, rate_reg %d, widget active p %d, c %d\n", in mtk_dai_pcm_hw_params()
216 regmap_update_bits(afe->regmap, PCM_INTF_CON1, in mtk_dai_pcm_hw_params()
228 regmap_update_bits(afe->regmap, PCM2_INTF_CON, in mtk_dai_pcm_hw_params()
232 dev_warn(afe->dev, "%s(), id %d not support\n", in mtk_dai_pcm_hw_params()
299 int mt6797_dai_pcm_register(struct mtk_base_afe *afe) in mt6797_dai_pcm_register() argument
303 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL); in mt6797_dai_pcm_register()
307 list_add(&dai->list, &afe->sub_dais); in mt6797_dai_pcm_register()
DMakefile4 snd-soc-mt6797-afe-objs := \
5 mt6797-afe-pcm.o \
6 mt6797-afe-clk.o \
11 obj-$(CONFIG_SND_SOC_MT6797) += snd-soc-mt6797-afe.o
Dmt6797-dai-hostless.c40 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_hostless_startup() local
42 return snd_soc_set_runtime_hwparams(substream, afe->mtk_afe_hardware); in mtk_dai_hostless_startup()
101 int mt6797_dai_hostless_register(struct mtk_base_afe *afe) in mt6797_dai_hostless_register() argument
105 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL); in mt6797_dai_hostless_register()
109 list_add(&dai->list, &afe->sub_dais); in mt6797_dai_hostless_register()
Dmt6797-afe-clk.h14 int mt6797_init_clock(struct mtk_base_afe *afe);
15 int mt6797_afe_enable_clock(struct mtk_base_afe *afe);
16 int mt6797_afe_disable_clock(struct mtk_base_afe *afe);
Dmt6797-afe-common.h56 int mt6797_dai_adda_register(struct mtk_base_afe *afe);
57 int mt6797_dai_pcm_register(struct mtk_base_afe *afe);
58 int mt6797_dai_hostless_register(struct mtk_base_afe *afe);
/Linux-v4.19/sound/soc/qcom/qdsp6/
Dq6afe.c483 struct q6afe *afe; member
712 struct q6afe *afe; in q6afe_port_free() local
716 afe = port->afe; in q6afe_port_free()
717 spin_lock_irqsave(&afe->port_list_lock, flags); in q6afe_port_free()
719 spin_unlock_irqrestore(&afe->port_list_lock, flags); in q6afe_port_free()
724 static struct q6afe_port *q6afe_find_port(struct q6afe *afe, int token) in q6afe_find_port() argument
730 spin_lock_irqsave(&afe->port_list_lock, flags); in q6afe_find_port()
731 list_for_each_entry(p, &afe->port_list, node) in q6afe_find_port()
738 spin_unlock_irqrestore(&afe->port_list_lock, flags); in q6afe_find_port()
744 struct q6afe *afe = dev_get_drvdata(&adev->dev); in q6afe_callback() local
[all …]
/Linux-v4.19/Documentation/devicetree/bindings/sound/
Dmtk-afe-pcm.txt4 - compatible = "mediatek,mt8173-afe-pcm";
21 afe: mt8173-afe-pcm@11220000 {
22 compatible = "mediatek,mt8173-afe-pcm";
Dmt6797-afe-pcm.txt21 afe: mt6797-afe-pcm@11220000 {
Dmt2701-afe-pcm.txt8 - interrupt-names: should be "afe" and "asys"
61 afe: audio-controller {
65 interrupt-names = "afe", "asys";
/Linux-v4.19/Documentation/devicetree/bindings/arm/mediatek/
Dmediatek,audsys.txt20 ../sonud/mt2701-afe-pcm.txt.
29 afe: audio-controller {

123