Lines Matching full:wcd
23 #include "wcd-clsh-v2.h"
24 #include "wcd-mbhc-v2.h"
1194 static int wcd937x_connect_port(struct wcd937x_sdw_priv *wcd, u8 port_idx, u8 ch_id, bool enable) in wcd937x_connect_port() argument
1196 struct sdw_port_config *port_config = &wcd->port_config[port_idx - 1]; in wcd937x_connect_port()
1197 const struct wcd937x_sdw_ch_info *ch_info = &wcd->ch_info[ch_id]; in wcd937x_connect_port()
1275 struct wcd937x_sdw_priv *wcd = wcd937x->sdw_priv[AIF1_PB]; in wcd937x_set_compander() local
1296 portidx = wcd->ch_info[mc->reg].port_num; in wcd937x_set_compander()
1299 wcd937x_connect_port(wcd, portidx, mc->reg, true); in wcd937x_set_compander()
1301 wcd937x_connect_port(wcd, portidx, mc->reg, false); in wcd937x_set_compander()
1312 struct wcd937x_sdw_priv *wcd; in wcd937x_get_swr_port() local
1317 wcd = wcd937x->sdw_priv[dai_id]; in wcd937x_get_swr_port()
1318 portidx = wcd->ch_info[ch_idx].port_num; in wcd937x_get_swr_port()
1320 ucontrol->value.integer.value[0] = wcd->port_enable[portidx]; in wcd937x_get_swr_port()
1331 struct wcd937x_sdw_priv *wcd; in wcd937x_set_swr_port() local
1337 wcd = wcd937x->sdw_priv[dai_id]; in wcd937x_set_swr_port()
1339 portidx = wcd->ch_info[ch_idx].port_num; in wcd937x_set_swr_port()
1343 if (enable == wcd->port_enable[portidx]) { in wcd937x_set_swr_port()
1344 wcd937x_connect_port(wcd, portidx, ch_idx, enable); in wcd937x_set_swr_port()
1348 wcd->port_enable[portidx] = enable; in wcd937x_set_swr_port()
1349 wcd937x_connect_port(wcd, portidx, ch_idx, enable); in wcd937x_set_swr_port()
2473 static int wcd937x_irq_init(struct wcd937x_priv *wcd, struct device *dev) in wcd937x_irq_init() argument
2475 wcd->virq = irq_domain_add_linear(NULL, 1, &wcd_domain_ops, NULL); in wcd937x_irq_init()
2476 if (!(wcd->virq)) { in wcd937x_irq_init()
2481 return devm_regmap_add_irq_chip(dev, wcd->regmap, in wcd937x_irq_init()
2482 irq_create_mapping(wcd->virq, 0), in wcd937x_irq_init()
2484 &wcd->irq_chip); in wcd937x_irq_init()
2601 struct wcd937x_priv *wcd = dev_get_drvdata(comp->dev); in wcd937x_codec_set_jack() local
2605 ret = wcd_mbhc_start(wcd->wcd_mbhc, &wcd->mbhc_cfg, jack); in wcd937x_codec_set_jack()
2607 wcd_mbhc_stop(wcd->wcd_mbhc); in wcd937x_codec_set_jack()
2626 static void wcd937x_dt_parse_micbias_info(struct device *dev, struct wcd937x_priv *wcd) in wcd937x_dt_parse_micbias_info() argument
2634 wcd->micb1_mv = prop_val / 1000; in wcd937x_dt_parse_micbias_info()
2640 wcd->micb2_mv = prop_val / 1000; in wcd937x_dt_parse_micbias_info()
2646 wcd->micb3_mv = prop_val / 1000; in wcd937x_dt_parse_micbias_info()
2669 struct wcd937x_sdw_priv *wcd = wcd937x->sdw_priv[dai->id]; in wcd937x_codec_hw_params() local
2671 return wcd937x_sdw_hw_params(wcd, substream, params, dai); in wcd937x_codec_hw_params()
2678 struct wcd937x_sdw_priv *wcd = wcd937x->sdw_priv[dai->id]; in wcd937x_codec_free() local
2680 return sdw_stream_remove_slave(wcd->sdev, wcd->sruntime); in wcd937x_codec_free()
2687 struct wcd937x_sdw_priv *wcd = wcd937x->sdw_priv[dai->id]; in wcd937x_codec_set_sdw_stream() local
2689 wcd->sruntime = stream; in wcd937x_codec_set_sdw_stream()
2704 .stream_name = "WCD AIF Playback",
2717 .stream_name = "WCD AIF Capture",
2778 dev_err(dev, "Could not devlink WCD and TX\n"); in wcd937x_bind()
2784 dev_err(dev, "Could not devlink WCD and RX\n"); in wcd937x_bind()
2879 "failed to reset wcd gpio\n"); in wcd937x_probe()