Lines Matching defs:rt722
3 // rt722-sdca-sdw.c -- rt722 SDCA ALSA SoC audio driver
16 #include "rt722-sdca.h"
17 #include "rt722-sdca-sdw.h"
164 struct rt722_sdca_priv *rt722 = dev_get_drvdata(&slave->dev);
167 rt722->hw_init = false;
170 if (rt722->hs_jack) {
177 sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK1,
179 sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK2,
188 if (rt722->hw_init || status != SDW_SLAVE_ATTACHED)
265 struct rt722_sdca_priv *rt722 = dev_get_drvdata(&slave->dev);
270 if (cancel_delayed_work_sync(&rt722->jack_detect_work)) {
273 if (rt722->scp_sdca_stat2)
274 scp_sdca_stat2 = rt722->scp_sdca_stat2;
284 mutex_lock(&rt722->disable_irq_lock);
286 ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT1);
289 rt722->scp_sdca_stat1 = ret;
290 ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT2);
293 rt722->scp_sdca_stat2 = ret;
295 rt722->scp_sdca_stat2 |= scp_sdca_stat2;
298 ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT1);
302 ret = sdw_update_no_pm(rt722->slave, SDW_SCP_SDCA_INT1,
307 ret = sdw_update_no_pm(rt722->slave, SDW_SCP_SDCA_INT1,
312 ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT2);
316 ret = sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INT2,
323 ret = sdw_read_no_pm(rt722->slave, SDW_DP0_INT);
328 ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT1);
333 ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT2);
346 rt722->scp_sdca_stat1, rt722->scp_sdca_stat2);
348 if (status->sdca_cascade && !rt722->disable_irq)
350 &rt722->jack_detect_work, msecs_to_jiffies(30));
352 mutex_unlock(&rt722->disable_irq_lock);
357 mutex_unlock(&rt722->disable_irq_lock);
387 struct rt722_sdca_priv *rt722 = dev_get_drvdata(&slave->dev);
389 if (rt722->hw_init) {
390 cancel_delayed_work_sync(&rt722->jack_detect_work);
391 cancel_delayed_work_sync(&rt722->jack_btn_check_work);
394 if (rt722->first_hw_init)
397 mutex_destroy(&rt722->calibrate_mutex);
398 mutex_destroy(&rt722->disable_irq_lock);
411 struct rt722_sdca_priv *rt722 = dev_get_drvdata(dev);
413 if (!rt722->hw_init)
416 cancel_delayed_work_sync(&rt722->jack_detect_work);
417 cancel_delayed_work_sync(&rt722->jack_btn_check_work);
419 regcache_cache_only(rt722->regmap, true);
420 regcache_cache_only(rt722->mbq_regmap, true);
460 struct rt722_sdca_priv *rt722 = dev_get_drvdata(dev);
463 if (!rt722->first_hw_init)
467 if (rt722->disable_irq == true) {
468 mutex_lock(&rt722->disable_irq_lock);
471 rt722->disable_irq = false;
472 mutex_unlock(&rt722->disable_irq_lock);
488 regcache_cache_only(rt722->regmap, false);
489 regcache_sync(rt722->regmap);
490 regcache_cache_only(rt722->mbq_regmap, false);
491 regcache_sync(rt722->mbq_regmap);
502 .name = "rt722-sdca",