Lines Matching refs:port_info
108 static void siu_dai_start(struct siu_port *port_info) in siu_dai_start() argument
113 dev_dbg(port_info->pcm->card->dev, "%s\n", __func__); in siu_dai_start()
121 port_info->stfifo = 0; in siu_dai_start()
122 port_info->trdat = 0; in siu_dai_start()
147 siu_write32(base + SIU_SBDVCA, port_info->playback.volume); in siu_dai_start()
148 siu_write32(base + SIU_SBDVCB, port_info->capture.volume); in siu_dai_start()
151 static void siu_dai_stop(struct siu_port *port_info) in siu_dai_stop() argument
160 static void siu_dai_spbAselect(struct siu_port *port_info) in siu_dai_spbAselect() argument
181 port_info->stfifo |= fw->spbpar[idx].stfifo; in siu_dai_spbAselect()
182 port_info->trdat |= fw->spbpar[idx].trdat; in siu_dai_spbAselect()
185 static void siu_dai_spbBselect(struct siu_port *port_info) in siu_dai_spbBselect() argument
201 port_info->stfifo |= fw->spbpar[idx].stfifo; in siu_dai_spbBselect()
202 port_info->trdat |= fw->spbpar[idx].trdat; in siu_dai_spbBselect()
256 static int siu_dai_spbstart(struct siu_port *port_info) in siu_dai_spbstart() argument
297 siu_write32(base + SIU_TRDAT, port_info->trdat); in siu_dai_spbstart()
298 port_info->trdat = 0x0; in siu_dai_spbstart()
321 static void siu_dai_spbstop(struct siu_port *port_info) in siu_dai_spbstop() argument
330 port_info->stfifo = 0; in siu_dai_spbstop()
354 struct siu_port *port_info = snd_kcontrol_chip(kctrl); in siu_dai_info_volume() local
356 dev_dbg(port_info->pcm->card->dev, "%s\n", __func__); in siu_dai_info_volume()
369 struct siu_port *port_info = snd_kcontrol_chip(kctrl); in siu_dai_get_volume() local
370 struct device *dev = port_info->pcm->card->dev; in siu_dai_get_volume()
378 vol = port_info->playback.volume; in siu_dai_get_volume()
384 vol = port_info->capture.volume; in siu_dai_get_volume()
400 struct siu_port *port_info = snd_kcontrol_chip(kctrl); in siu_dai_put_volume() local
401 struct device *dev = port_info->pcm->card->dev; in siu_dai_put_volume()
422 cur_vol = port_info->playback.volume; in siu_dai_put_volume()
424 port_info->playback.volume = new_vol; in siu_dai_put_volume()
428 cur_vol = port_info->capture.volume; in siu_dai_put_volume()
430 port_info->capture.volume = new_vol; in siu_dai_put_volume()
464 int siu_init_port(int port, struct siu_port **port_info, struct snd_card *card) in siu_init_port() argument
470 *port_info = kzalloc(sizeof(**port_info), GFP_KERNEL); in siu_init_port()
471 if (!*port_info) in siu_init_port()
474 dev_dbg(dev, "%s: port #%d@%p\n", __func__, port, *port_info); in siu_init_port()
476 (*port_info)->playback.volume = DFLT_VOLUME_LEVEL; in siu_init_port()
477 (*port_info)->capture.volume = DFLT_VOLUME_LEVEL; in siu_init_port()
485 kctrl = snd_ctl_new1(&playback_controls, *port_info); in siu_init_port()
492 kctrl = snd_ctl_new1(&capture_controls, *port_info); in siu_init_port()
502 void siu_free_port(struct siu_port *port_info) in siu_free_port() argument
504 kfree(port_info); in siu_free_port()
512 struct siu_port *port_info = siu_port_info(substream); in siu_dai_startup() local
516 info->port_id, port_info); in siu_dai_startup()
524 siu_dai_start(port_info); in siu_dai_startup()
533 struct siu_port *port_info = siu_port_info(substream); in siu_dai_shutdown() local
536 info->port_id, port_info); in siu_dai_shutdown()
539 port_info->play_cap &= ~PLAYBACK_ENABLED; in siu_dai_shutdown()
541 port_info->play_cap &= ~CAPTURE_ENABLED; in siu_dai_shutdown()
544 if (!port_info->play_cap) { in siu_dai_shutdown()
546 if (WARN_ON(port_info->playback.rw_flg || port_info->capture.rw_flg)) in siu_dai_shutdown()
548 siu_dai_spbstop(port_info); in siu_dai_shutdown()
549 siu_dai_stop(port_info); in siu_dai_shutdown()
559 struct siu_port *port_info = siu_port_info(substream); in siu_dai_prepare() local
565 __func__, info->port_id, port_info->play_cap, rt->channels); in siu_dai_prepare()
569 siu_stream = &port_info->playback; in siu_dai_prepare()
572 siu_stream = &port_info->capture; in siu_dai_prepare()
576 if (!port_info->play_cap) { in siu_dai_prepare()
579 siu_dai_spbAselect(port_info); in siu_dai_prepare()
580 siu_dai_spbBselect(port_info); in siu_dai_prepare()
586 ret = siu_dai_spbstart(port_info); in siu_dai_prepare()
593 port_info->play_cap |= self; in siu_dai_prepare()