Lines Matching refs:rt721

31 	struct rt721_sdca_priv *rt721 =  in rt721_sdca_jack_detect_handler()  local
35 if (!rt721->hs_jack) in rt721_sdca_jack_detect_handler()
38 if (!rt721->component->card || !rt721->component->card->instantiated) in rt721_sdca_jack_detect_handler()
42 if (rt721->scp_sdca_stat1 & SDW_SCP_SDCA_INT_SDCA_0) { in rt721_sdca_jack_detect_handler()
43 rt721->jack_type = rt_sdca_headset_detect(rt721->regmap, in rt721_sdca_jack_detect_handler()
45 if (rt721->jack_type < 0) in rt721_sdca_jack_detect_handler()
50 if (rt721->scp_sdca_stat2 & SDW_SCP_SDCA_INT_SDCA_8) in rt721_sdca_jack_detect_handler()
51 btn_type = rt_sdca_button_detect(rt721->regmap, in rt721_sdca_jack_detect_handler()
55 if (rt721->jack_type == 0) in rt721_sdca_jack_detect_handler()
58 dev_dbg(&rt721->slave->dev, in rt721_sdca_jack_detect_handler()
59 "in %s, jack_type=%d\n", __func__, rt721->jack_type); in rt721_sdca_jack_detect_handler()
60 dev_dbg(&rt721->slave->dev, in rt721_sdca_jack_detect_handler()
62 dev_dbg(&rt721->slave->dev, in rt721_sdca_jack_detect_handler()
64 rt721->scp_sdca_stat1, rt721->scp_sdca_stat2); in rt721_sdca_jack_detect_handler()
66 snd_soc_jack_report(rt721->hs_jack, rt721->jack_type | btn_type, in rt721_sdca_jack_detect_handler()
73 snd_soc_jack_report(rt721->hs_jack, rt721->jack_type, in rt721_sdca_jack_detect_handler()
79 &rt721->jack_btn_check_work, msecs_to_jiffies(200)); in rt721_sdca_jack_detect_handler()
85 struct rt721_sdca_priv *rt721 = in rt721_sdca_btn_check_handler() local
91 ret = regmap_read(rt721->regmap, in rt721_sdca_btn_check_handler()
100 ret = regmap_read(rt721->regmap, in rt721_sdca_btn_check_handler()
107 ret = regmap_read(rt721->regmap, in rt721_sdca_btn_check_handler()
117 rt721->jack_type = 0; in rt721_sdca_btn_check_handler()
119 dev_dbg(&rt721->slave->dev, "%s, btn_type=0x%x\n", __func__, btn_type); in rt721_sdca_btn_check_handler()
120 snd_soc_jack_report(rt721->hs_jack, rt721->jack_type | btn_type, in rt721_sdca_btn_check_handler()
127 snd_soc_jack_report(rt721->hs_jack, rt721->jack_type, in rt721_sdca_btn_check_handler()
133 &rt721->jack_btn_check_work, msecs_to_jiffies(200)); in rt721_sdca_btn_check_handler()
142 static void rt721_sdca_dmic_preset(struct rt721_sdca_priv *rt721) in rt721_sdca_dmic_preset() argument
144 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_dmic_preset()
146 rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART, in rt721_sdca_dmic_preset()
148 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_dmic_preset()
150 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_dmic_preset()
152 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_dmic_preset()
154 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_dmic_preset()
156 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_dmic_preset()
158 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_dmic_preset()
160 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_dmic_preset()
162 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_dmic_preset()
164 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_dmic_preset()
166 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_dmic_preset()
168 regmap_write(rt721->regmap, in rt721_sdca_dmic_preset()
171 regmap_write(rt721->mbq_regmap, 0x5910009, 0x2e01); in rt721_sdca_dmic_preset()
172 rt_sdca_index_write(rt721->mbq_regmap, RT721_RC_CALIB_CTRL, in rt721_sdca_dmic_preset()
174 rt_sdca_index_write(rt721->mbq_regmap, RT721_RC_CALIB_CTRL, in rt721_sdca_dmic_preset()
176 regmap_write(rt721->regmap, 0x2f5c, 0x25); in rt721_sdca_dmic_preset()
179 static void rt721_sdca_amp_preset(struct rt721_sdca_priv *rt721) in rt721_sdca_amp_preset() argument
181 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_amp_preset()
183 rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART, in rt721_sdca_amp_preset()
185 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_amp_preset()
187 regmap_write(rt721->mbq_regmap, 0x5810000, 0x6420); in rt721_sdca_amp_preset()
188 regmap_write(rt721->mbq_regmap, 0x5810000, 0x6421); in rt721_sdca_amp_preset()
189 regmap_write(rt721->mbq_regmap, 0x5810000, 0xe421); in rt721_sdca_amp_preset()
190 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_amp_preset()
192 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_REG, in rt721_sdca_amp_preset()
194 regmap_write(rt721->regmap, in rt721_sdca_amp_preset()
197 regmap_write(rt721->regmap, in rt721_sdca_amp_preset()
200 regmap_write(rt721->regmap, in rt721_sdca_amp_preset()
203 regmap_write(rt721->regmap, in rt721_sdca_amp_preset()
206 regmap_write(rt721->regmap, in rt721_sdca_amp_preset()
211 static void rt721_sdca_jack_preset(struct rt721_sdca_priv *rt721) in rt721_sdca_jack_preset() argument
213 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_jack_preset()
215 rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART, in rt721_sdca_jack_preset()
217 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_jack_preset()
219 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_preset()
221 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_preset()
223 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_preset()
225 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_preset()
227 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_preset()
229 rt_sdca_index_write(rt721->mbq_regmap, RT721_JD_CTRL, in rt721_sdca_jack_preset()
231 rt_sdca_index_write(rt721->mbq_regmap, RT721_RC_CALIB_CTRL, in rt721_sdca_jack_preset()
233 rt_sdca_index_write(rt721->mbq_regmap, RT721_RC_CALIB_CTRL, in rt721_sdca_jack_preset()
235 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_jack_preset()
237 regmap_write(rt721->mbq_regmap, 0x5810035, 0x0036); in rt721_sdca_jack_preset()
238 regmap_write(rt721->mbq_regmap, 0x5810030, 0xee00); in rt721_sdca_jack_preset()
239 rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL, in rt721_sdca_jack_preset()
241 regmap_write(rt721->mbq_regmap, 0x5810000, 0x0021); in rt721_sdca_jack_preset()
242 regmap_write(rt721->mbq_regmap, 0x5810000, 0x8021); in rt721_sdca_jack_preset()
243 rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL, in rt721_sdca_jack_preset()
245 regmap_write(rt721->mbq_regmap, 0x5b10007, 0x2000); in rt721_sdca_jack_preset()
246 regmap_write(rt721->mbq_regmap, 0x5B10017, 0x1b0f); in rt721_sdca_jack_preset()
247 rt_sdca_index_write(rt721->mbq_regmap, RT721_CBJ_CTRL, in rt721_sdca_jack_preset()
249 rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL, in rt721_sdca_jack_preset()
251 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_jack_preset()
253 regmap_write(rt721->mbq_regmap, 0x310400, 0x3023); in rt721_sdca_jack_preset()
254 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_jack_preset()
256 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_jack_preset()
258 regmap_write(rt721->mbq_regmap, 0x310401, 0x3000); in rt721_sdca_jack_preset()
259 regmap_write(rt721->mbq_regmap, 0x310402, 0x1b00); in rt721_sdca_jack_preset()
260 regmap_write(rt721->mbq_regmap, 0x310300, 0x000f); in rt721_sdca_jack_preset()
261 regmap_write(rt721->mbq_regmap, 0x310301, 0x3000); in rt721_sdca_jack_preset()
262 regmap_write(rt721->mbq_regmap, 0x310302, 0x1b00); in rt721_sdca_jack_preset()
263 rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL, in rt721_sdca_jack_preset()
265 rt_sdca_index_write(rt721->mbq_regmap, RT721_DAC_CTRL, in rt721_sdca_jack_preset()
267 rt_sdca_index_write(rt721->mbq_regmap, RT721_DAC_CTRL, in rt721_sdca_jack_preset()
269 rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART, in rt721_sdca_jack_preset()
271 rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART, in rt721_sdca_jack_preset()
273 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_preset()
275 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_preset()
277 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_preset()
279 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_preset()
281 regmap_write(rt721->regmap, 0x2f58, 0x07); in rt721_sdca_jack_preset()
284 static void rt721_sdca_jack_init(struct rt721_sdca_priv *rt721) in rt721_sdca_jack_init() argument
286 mutex_lock(&rt721->calibrate_mutex); in rt721_sdca_jack_init()
287 if (rt721->hs_jack) { in rt721_sdca_jack_init()
288 sdw_write_no_pm(rt721->slave, SDW_SCP_SDCA_INTMASK1, in rt721_sdca_jack_init()
290 sdw_write_no_pm(rt721->slave, SDW_SCP_SDCA_INTMASK2, in rt721_sdca_jack_init()
292 dev_dbg(&rt721->slave->dev, "in %s enable\n", __func__); in rt721_sdca_jack_init()
293 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_init()
295 regmap_write(rt721->regmap, in rt721_sdca_jack_init()
298 regmap_write(rt721->regmap, in rt721_sdca_jack_init()
301 rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_init()
303 rt_sdca_index_update_bits(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_jack_init()
306 mutex_unlock(&rt721->calibrate_mutex); in rt721_sdca_jack_init()
312 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_set_jack_detect() local
315 rt721->hs_jack = hs_jack; in rt721_sdca_set_jack_detect()
328 rt721_sdca_jack_init(rt721); in rt721_sdca_set_jack_detect()
343 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_set_gain_put() local
355 regmap_read(rt721->mbq_regmap, mc->reg, &lvalue); in rt721_sdca_set_gain_put()
356 regmap_read(rt721->mbq_regmap, mc->rreg, &rvalue); in rt721_sdca_set_gain_put()
410 regmap_write(rt721->mbq_regmap, mc->reg, gain_l_val); in rt721_sdca_set_gain_put()
413 regmap_write(rt721->mbq_regmap, mc->rreg, gain_r_val); in rt721_sdca_set_gain_put()
415 regmap_read(rt721->mbq_regmap, mc->reg, &read_l); in rt721_sdca_set_gain_put()
416 regmap_read(rt721->mbq_regmap, mc->rreg, &read_r); in rt721_sdca_set_gain_put()
427 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_set_gain_get() local
439 regmap_read(rt721->mbq_regmap, mc->reg, &read_l); in rt721_sdca_set_gain_get()
440 regmap_read(rt721->mbq_regmap, mc->rreg, &read_r); in rt721_sdca_set_gain_get()
470 static int rt721_sdca_set_fu1e_capture_ctl(struct rt721_sdca_priv *rt721) in rt721_sdca_set_fu1e_capture_ctl() argument
475 for (i = 0; i < ARRAY_SIZE(rt721->fu1e_mixer_mute); i++) { in rt721_sdca_set_fu1e_capture_ctl()
476 ch_mute = rt721->fu1e_dapm_mute || rt721->fu1e_mixer_mute[i]; in rt721_sdca_set_fu1e_capture_ctl()
477 err = regmap_write(rt721->regmap, in rt721_sdca_set_fu1e_capture_ctl()
491 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_fu1e_capture_get() local
497 ucontrol->value.integer.value[i] = !rt721->fu1e_mixer_mute[i]; in rt721_sdca_fu1e_capture_get()
506 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_fu1e_capture_put() local
512 if (rt721->fu1e_mixer_mute[i] != !ucontrol->value.integer.value[i]) in rt721_sdca_fu1e_capture_put()
514 rt721->fu1e_mixer_mute[i] = !ucontrol->value.integer.value[i]; in rt721_sdca_fu1e_capture_put()
517 err = rt721_sdca_set_fu1e_capture_ctl(rt721); in rt721_sdca_fu1e_capture_put()
524 static int rt721_sdca_set_fu0f_capture_ctl(struct rt721_sdca_priv *rt721) in rt721_sdca_set_fu0f_capture_ctl() argument
529 ch_l = (rt721->fu0f_dapm_mute || rt721->fu0f_mixer_l_mute) ? 0x01 : 0x00; in rt721_sdca_set_fu0f_capture_ctl()
530 ch_r = (rt721->fu0f_dapm_mute || rt721->fu0f_mixer_r_mute) ? 0x01 : 0x00; in rt721_sdca_set_fu0f_capture_ctl()
532 err = regmap_write(rt721->regmap, in rt721_sdca_set_fu0f_capture_ctl()
538 err = regmap_write(rt721->regmap, in rt721_sdca_set_fu0f_capture_ctl()
551 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_fu0f_capture_get() local
553 ucontrol->value.integer.value[0] = !rt721->fu0f_mixer_l_mute; in rt721_sdca_fu0f_capture_get()
554 ucontrol->value.integer.value[1] = !rt721->fu0f_mixer_r_mute; in rt721_sdca_fu0f_capture_get()
562 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_fu0f_capture_put() local
565 if (rt721->fu0f_mixer_l_mute != !ucontrol->value.integer.value[0] || in rt721_sdca_fu0f_capture_put()
566 rt721->fu0f_mixer_r_mute != !ucontrol->value.integer.value[1]) in rt721_sdca_fu0f_capture_put()
569 rt721->fu0f_mixer_l_mute = !ucontrol->value.integer.value[0]; in rt721_sdca_fu0f_capture_put()
570 rt721->fu0f_mixer_r_mute = !ucontrol->value.integer.value[1]; in rt721_sdca_fu0f_capture_put()
571 err = rt721_sdca_set_fu0f_capture_ctl(rt721); in rt721_sdca_fu0f_capture_put()
598 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_dmic_set_gain_get() local
612 regmap_read(rt721->mbq_regmap, p->reg_base + i, &regvalue); in rt721_sdca_dmic_set_gain_get()
631 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_dmic_set_gain_put() local
645 regmap_read(rt721->mbq_regmap, p->reg_base + i, &regvalue[i]); in rt721_sdca_dmic_set_gain_put()
666 err = regmap_write(rt721->mbq_regmap, p->reg_base + i, gain_val[i]); in rt721_sdca_dmic_set_gain_put()
668 dev_err(&rt721->slave->dev, "%#08x can't be set\n", p->reg_base + i); in rt721_sdca_dmic_set_gain_put()
731 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_adc_mux_get() local
758 rt_sdca_index_read(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_adc_mux_get()
773 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_adc_mux_put() local
807 rt_sdca_index_read(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_adc_mux_put()
821 rt_sdca_index_read(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_adc_mux_put()
823 rt_sdca_index_update_bits(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, in rt721_sdca_adc_mux_put()
879 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_fu42_event() local
885 regmap_write(rt721->regmap, in rt721_sdca_fu42_event()
888 regmap_write(rt721->regmap, in rt721_sdca_fu42_event()
893 regmap_write(rt721->regmap, in rt721_sdca_fu42_event()
896 regmap_write(rt721->regmap, in rt721_sdca_fu42_event()
909 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_fu21_event() local
914 regmap_write(rt721->regmap, in rt721_sdca_fu21_event()
917 regmap_write(rt721->regmap, in rt721_sdca_fu21_event()
922 regmap_write(rt721->regmap, in rt721_sdca_fu21_event()
925 regmap_write(rt721->regmap, in rt721_sdca_fu21_event()
938 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_fu23_event() local
943 regmap_write(rt721->regmap, in rt721_sdca_fu23_event()
946 regmap_write(rt721->regmap, in rt721_sdca_fu23_event()
951 regmap_write(rt721->regmap, in rt721_sdca_fu23_event()
954 regmap_write(rt721->regmap, in rt721_sdca_fu23_event()
967 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_fu113_event() local
971 rt721->fu1e_dapm_mute = false; in rt721_sdca_fu113_event()
972 rt721_sdca_set_fu1e_capture_ctl(rt721); in rt721_sdca_fu113_event()
975 rt721->fu1e_dapm_mute = true; in rt721_sdca_fu113_event()
976 rt721_sdca_set_fu1e_capture_ctl(rt721); in rt721_sdca_fu113_event()
987 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_fu36_event() local
991 rt721->fu0f_dapm_mute = false; in rt721_sdca_fu36_event()
992 rt721_sdca_set_fu0f_capture_ctl(rt721); in rt721_sdca_fu36_event()
995 rt721->fu0f_dapm_mute = true; in rt721_sdca_fu36_event()
996 rt721_sdca_set_fu0f_capture_ctl(rt721); in rt721_sdca_fu36_event()
1007 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_pde47_event() local
1012 regmap_write(rt721->regmap, in rt721_sdca_pde47_event()
1017 regmap_write(rt721->regmap, in rt721_sdca_pde47_event()
1030 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_pde41_event() local
1035 regmap_write(rt721->regmap, in rt721_sdca_pde41_event()
1040 regmap_write(rt721->regmap, in rt721_sdca_pde41_event()
1053 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_pde11_event() local
1058 regmap_write(rt721->regmap, in rt721_sdca_pde11_event()
1063 regmap_write(rt721->regmap, in rt721_sdca_pde11_event()
1076 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_pde34_event() local
1081 regmap_write(rt721->regmap, in rt721_sdca_pde34_event()
1086 regmap_write(rt721->regmap, in rt721_sdca_pde34_event()
1201 static int rt721_sdca_parse_dt(struct rt721_sdca_priv *rt721, struct device *dev) in rt721_sdca_parse_dt() argument
1203 device_property_read_u32(dev, "realtek,jd-src", &rt721->jd_src); in rt721_sdca_parse_dt()
1210 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_probe() local
1213 rt721_sdca_parse_dt(rt721, &rt721->slave->dev); in rt721_sdca_probe()
1214 rt721->component = component; in rt721_sdca_probe()
1254 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_pcm_hw_params() local
1268 if (!rt721->slave) in rt721_sdca_pcm_hw_params()
1303 retval = sdw_stream_add_slave(rt721->slave, &stream_config, in rt721_sdca_pcm_hw_params()
1356 regmap_write(rt721->regmap, in rt721_sdca_pcm_hw_params()
1359 regmap_write(rt721->regmap, in rt721_sdca_pcm_hw_params()
1365 regmap_write(rt721->regmap, in rt721_sdca_pcm_hw_params()
1370 regmap_write(rt721->regmap, in rt721_sdca_pcm_hw_params()
1381 struct rt721_sdca_priv *rt721 = snd_soc_component_get_drvdata(component); in rt721_sdca_pcm_hw_free() local
1385 if (!rt721->slave) in rt721_sdca_pcm_hw_free()
1388 sdw_stream_remove_slave(rt721->slave, sdw_stream); in rt721_sdca_pcm_hw_free()
1453 struct rt721_sdca_priv *rt721; in rt721_sdca_init() local
1455 rt721 = devm_kzalloc(dev, sizeof(*rt721), GFP_KERNEL); in rt721_sdca_init()
1456 if (!rt721) in rt721_sdca_init()
1459 dev_set_drvdata(dev, rt721); in rt721_sdca_init()
1460 rt721->slave = slave; in rt721_sdca_init()
1461 rt721->regmap = regmap; in rt721_sdca_init()
1462 rt721->mbq_regmap = mbq_regmap; in rt721_sdca_init()
1464 regcache_cache_only(rt721->regmap, true); in rt721_sdca_init()
1465 regcache_cache_only(rt721->mbq_regmap, true); in rt721_sdca_init()
1467 mutex_init(&rt721->calibrate_mutex); in rt721_sdca_init()
1468 mutex_init(&rt721->disable_irq_lock); in rt721_sdca_init()
1470 INIT_DELAYED_WORK(&rt721->jack_detect_work, rt721_sdca_jack_detect_handler); in rt721_sdca_init()
1471 INIT_DELAYED_WORK(&rt721->jack_btn_check_work, rt721_sdca_btn_check_handler); in rt721_sdca_init()
1477 rt721->hw_init = false; in rt721_sdca_init()
1478 rt721->first_hw_init = false; in rt721_sdca_init()
1479 rt721->fu1e_dapm_mute = true; in rt721_sdca_init()
1480 rt721->fu0f_dapm_mute = true; in rt721_sdca_init()
1481 rt721->fu0f_mixer_l_mute = rt721->fu0f_mixer_r_mute = true; in rt721_sdca_init()
1482 rt721->fu1e_mixer_mute[0] = rt721->fu1e_mixer_mute[1] = in rt721_sdca_init()
1483 rt721->fu1e_mixer_mute[2] = rt721->fu1e_mixer_mute[3] = true; in rt721_sdca_init()
1491 struct rt721_sdca_priv *rt721 = dev_get_drvdata(dev); in rt721_sdca_io_init() local
1493 rt721->disable_irq = false; in rt721_sdca_io_init()
1495 if (rt721->hw_init) in rt721_sdca_io_init()
1498 regcache_cache_only(rt721->regmap, false); in rt721_sdca_io_init()
1499 regcache_cache_only(rt721->mbq_regmap, false); in rt721_sdca_io_init()
1500 if (rt721->first_hw_init) { in rt721_sdca_io_init()
1501 regcache_cache_bypass(rt721->regmap, true); in rt721_sdca_io_init()
1502 regcache_cache_bypass(rt721->mbq_regmap, true); in rt721_sdca_io_init()
1522 rt721_sdca_dmic_preset(rt721); in rt721_sdca_io_init()
1523 rt721_sdca_amp_preset(rt721); in rt721_sdca_io_init()
1524 rt721_sdca_jack_preset(rt721); in rt721_sdca_io_init()
1525 if (rt721->first_hw_init) { in rt721_sdca_io_init()
1526 regcache_cache_bypass(rt721->regmap, false); in rt721_sdca_io_init()
1527 regcache_mark_dirty(rt721->regmap); in rt721_sdca_io_init()
1528 regcache_cache_bypass(rt721->mbq_regmap, false); in rt721_sdca_io_init()
1529 regcache_mark_dirty(rt721->mbq_regmap); in rt721_sdca_io_init()
1531 rt721->first_hw_init = true; in rt721_sdca_io_init()
1534 rt721->hw_init = true; in rt721_sdca_io_init()