/Linux-v4.19/sound/soc/mediatek/common/ |
D | mtk-afe-fe-dai.c | 39 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 …]
|
D | mtk-afe-platform-driver.c | 16 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 …]
|
D | Makefile | 3 snd-soc-mtk-common-objs := mtk-afe-platform-driver.o mtk-afe-fe-dai.o
|
D | mtk-afe-fe-dai.h | 32 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/ |
D | adv748x-afe.c | 59 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/ |
D | afe4403.c | 144 struct afe4403_data *afe = iio_priv(indio_dev); in afe440x_show_register() local 150 ret = regmap_field_read(afe->fields[afe440x_attr->field], ®_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, ®, 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 …]
|
D | afe4404.c | 178 struct afe4404_data *afe = iio_priv(indio_dev); in afe440x_show_register() local 184 ret = regmap_field_read(afe->fields[afe440x_attr->field], ®_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/ |
D | mt2701-afe-clock-ctrl.c | 25 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 …]
|
D | mt2701-afe-pcm.c | 63 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 …]
|
D | mt2701-afe-clock-ctrl.h | 16 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);
|
D | Makefile | 3 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/ |
D | mt8173-afe-pcm.c | 196 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/ |
D | mt6797-afe-pcm.c | 145 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 …]
|
D | mt6797-dai-adda.c | 38 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 …]
|
D | mt6797-afe-clk.c | 34 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 …]
|
D | mt6797-dai-pcm.c | 185 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()
|
D | Makefile | 4 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
|
D | mt6797-dai-hostless.c | 40 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()
|
D | mt6797-afe-clk.h | 14 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);
|
D | mt6797-afe-common.h | 56 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/ |
D | q6afe.c | 483 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/ |
D | mtk-afe-pcm.txt | 4 - compatible = "mediatek,mt8173-afe-pcm"; 21 afe: mt8173-afe-pcm@11220000 { 22 compatible = "mediatek,mt8173-afe-pcm";
|
D | mt6797-afe-pcm.txt | 21 afe: mt6797-afe-pcm@11220000 {
|
D | mt2701-afe-pcm.txt | 8 - interrupt-names: should be "afe" and "asys" 61 afe: audio-controller { 65 interrupt-names = "afe", "asys";
|
/Linux-v4.19/Documentation/devicetree/bindings/arm/mediatek/ |
D | mediatek,audsys.txt | 20 ../sonud/mt2701-afe-pcm.txt. 29 afe: audio-controller {
|