Lines Matching refs:rt1316
257 static void rt1316_apply_bq_params(struct rt1316_sdw_priv *rt1316) in rt1316_apply_bq_params() argument
261 for (i = 0; i < rt1316->bq_params_cnt; i += 3) { in rt1316_apply_bq_params()
262 reg = rt1316->bq_params[i] | (rt1316->bq_params[i + 1] << 8); in rt1316_apply_bq_params()
263 data = rt1316->bq_params[i + 2]; in rt1316_apply_bq_params()
264 regmap_write(rt1316->regmap, reg, data); in rt1316_apply_bq_params()
270 struct rt1316_sdw_priv *rt1316 = dev_get_drvdata(dev); in rt1316_io_init() local
272 if (rt1316->hw_init) in rt1316_io_init()
275 regcache_cache_only(rt1316->regmap, false); in rt1316_io_init()
276 if (rt1316->first_hw_init) { in rt1316_io_init()
277 regcache_cache_bypass(rt1316->regmap, true); in rt1316_io_init()
290 regmap_write(rt1316->regmap, 0xc000, 0x02); in rt1316_io_init()
293 regmap_multi_reg_write(rt1316->regmap, rt1316_blind_write, in rt1316_io_init()
296 if (rt1316->first_hw_init) { in rt1316_io_init()
297 regcache_cache_bypass(rt1316->regmap, false); in rt1316_io_init()
298 regcache_mark_dirty(rt1316->regmap); in rt1316_io_init()
300 rt1316->first_hw_init = true; in rt1316_io_init()
303 rt1316->hw_init = true; in rt1316_io_init()
315 struct rt1316_sdw_priv *rt1316 = dev_get_drvdata(&slave->dev); in rt1316_update_status() local
318 rt1316->hw_init = false; in rt1316_update_status()
324 if (rt1316->hw_init || status != SDW_SLAVE_ATTACHED) in rt1316_update_status()
336 struct rt1316_sdw_priv *rt1316 = snd_soc_component_get_drvdata(component); in rt1316_classd_event() local
341 regmap_write(rt1316->regmap, in rt1316_classd_event()
345 regmap_write(rt1316->regmap, in rt1316_classd_event()
349 regmap_write(rt1316->regmap, in rt1316_classd_event()
355 regmap_write(rt1316->regmap, in rt1316_classd_event()
359 regmap_write(rt1316->regmap, in rt1316_classd_event()
363 regmap_write(rt1316->regmap, in rt1316_classd_event()
381 struct rt1316_sdw_priv *rt1316 = snd_soc_component_get_drvdata(component); in rt1316_pde24_event() local
386 regmap_write(rt1316->regmap, in rt1316_pde24_event()
392 regmap_write(rt1316->regmap, in rt1316_pde24_event()
512 struct rt1316_sdw_priv *rt1316 = in rt1316_sdw_hw_params() local
525 if (!rt1316->sdw_slave) in rt1316_sdw_hw_params()
537 retval = sdw_stream_add_slave(rt1316->sdw_slave, &stream_config, in rt1316_sdw_hw_params()
551 struct rt1316_sdw_priv *rt1316 = in rt1316_sdw_pcm_hw_free() local
556 if (!rt1316->sdw_slave) in rt1316_sdw_pcm_hw_free()
559 sdw_stream_remove_slave(rt1316->sdw_slave, sdw_stream); in rt1316_sdw_pcm_hw_free()
572 static int rt1316_sdw_parse_dt(struct rt1316_sdw_priv *rt1316, struct device *dev) in rt1316_sdw_parse_dt() argument
576 device_property_read_u32(dev, "realtek,bq-params-cnt", &rt1316->bq_params_cnt); in rt1316_sdw_parse_dt()
577 if (rt1316->bq_params_cnt) { in rt1316_sdw_parse_dt()
578 rt1316->bq_params = devm_kzalloc(dev, rt1316->bq_params_cnt, GFP_KERNEL); in rt1316_sdw_parse_dt()
579 if (!rt1316->bq_params) { in rt1316_sdw_parse_dt()
583 …ret = device_property_read_u8_array(dev, "realtek,bq-params", rt1316->bq_params, rt1316->bq_params… in rt1316_sdw_parse_dt()
589 dev_dbg(dev, "bq_params_cnt=%d\n", rt1316->bq_params_cnt); in rt1316_sdw_parse_dt()
595 struct rt1316_sdw_priv *rt1316 = snd_soc_component_get_drvdata(component); in rt1316_sdw_component_probe() local
598 rt1316->component = component; in rt1316_sdw_component_probe()
599 rt1316_sdw_parse_dt(rt1316, &rt1316->sdw_slave->dev); in rt1316_sdw_component_probe()
601 if (!rt1316->first_hw_init) in rt1316_sdw_component_probe()
609 rt1316_apply_bq_params(rt1316); in rt1316_sdw_component_probe()
660 struct rt1316_sdw_priv *rt1316; in rt1316_sdw_init() local
663 rt1316 = devm_kzalloc(dev, sizeof(*rt1316), GFP_KERNEL); in rt1316_sdw_init()
664 if (!rt1316) in rt1316_sdw_init()
667 dev_set_drvdata(dev, rt1316); in rt1316_sdw_init()
668 rt1316->sdw_slave = slave; in rt1316_sdw_init()
669 rt1316->regmap = regmap; in rt1316_sdw_init()
671 regcache_cache_only(rt1316->regmap, true); in rt1316_sdw_init()
677 rt1316->hw_init = false; in rt1316_sdw_init()
678 rt1316->first_hw_init = false; in rt1316_sdw_init()
735 struct rt1316_sdw_priv *rt1316 = dev_get_drvdata(dev); in rt1316_dev_suspend() local
737 if (!rt1316->hw_init) in rt1316_dev_suspend()
740 regcache_cache_only(rt1316->regmap, true); in rt1316_dev_suspend()
750 struct rt1316_sdw_priv *rt1316 = dev_get_drvdata(dev); in rt1316_dev_resume() local
753 if (!rt1316->first_hw_init) in rt1316_dev_resume()
770 regcache_cache_only(rt1316->regmap, false); in rt1316_dev_resume()
771 regcache_sync(rt1316->regmap); in rt1316_dev_resume()