Lines Matching defs:port_info

94 static void siu_dai_start(struct siu_port *port_info)
99 dev_dbg(port_info->pcm->card->dev, "%s\n", __func__);
107 port_info->stfifo = 0;
108 port_info->trdat = 0;
133 siu_write32(base + SIU_SBDVCA, port_info->playback.volume);
134 siu_write32(base + SIU_SBDVCB, port_info->capture.volume);
137 static void siu_dai_stop(struct siu_port *port_info)
146 static void siu_dai_spbAselect(struct siu_port *port_info)
167 port_info->stfifo |= fw->spbpar[idx].stfifo;
168 port_info->trdat |= fw->spbpar[idx].trdat;
171 static void siu_dai_spbBselect(struct siu_port *port_info)
187 port_info->stfifo |= fw->spbpar[idx].stfifo;
188 port_info->trdat |= fw->spbpar[idx].trdat;
242 static int siu_dai_spbstart(struct siu_port *port_info)
283 siu_write32(base + SIU_TRDAT, port_info->trdat);
284 port_info->trdat = 0x0;
307 static void siu_dai_spbstop(struct siu_port *port_info)
316 port_info->stfifo = 0;
340 struct siu_port *port_info = snd_kcontrol_chip(kctrl);
342 dev_dbg(port_info->pcm->card->dev, "%s\n", __func__);
355 struct siu_port *port_info = snd_kcontrol_chip(kctrl);
356 struct device *dev = port_info->pcm->card->dev;
364 vol = port_info->playback.volume;
370 vol = port_info->capture.volume;
386 struct siu_port *port_info = snd_kcontrol_chip(kctrl);
387 struct device *dev = port_info->pcm->card->dev;
408 cur_vol = port_info->playback.volume;
410 port_info->playback.volume = new_vol;
414 cur_vol = port_info->capture.volume;
416 port_info->capture.volume = new_vol;
450 int siu_init_port(int port, struct siu_port **port_info, struct snd_card *card)
456 *port_info = kzalloc(sizeof(**port_info), GFP_KERNEL);
457 if (!*port_info)
460 dev_dbg(dev, "%s: port #%d@%p\n", __func__, port, *port_info);
462 (*port_info)->playback.volume = DFLT_VOLUME_LEVEL;
463 (*port_info)->capture.volume = DFLT_VOLUME_LEVEL;
471 kctrl = snd_ctl_new1(&playback_controls, *port_info);
478 kctrl = snd_ctl_new1(&capture_controls, *port_info);
488 void siu_free_port(struct siu_port *port_info)
490 kfree(port_info);
498 struct siu_port *port_info = siu_port_info(substream);
502 info->port_id, port_info);
510 siu_dai_start(port_info);
519 struct siu_port *port_info = siu_port_info(substream);
522 info->port_id, port_info);
525 port_info->play_cap &= ~PLAYBACK_ENABLED;
527 port_info->play_cap &= ~CAPTURE_ENABLED;
530 if (!port_info->play_cap) {
532 if (WARN_ON(port_info->playback.rw_flg || port_info->capture.rw_flg))
534 siu_dai_spbstop(port_info);
535 siu_dai_stop(port_info);
545 struct siu_port *port_info = siu_port_info(substream);
551 __func__, info->port_id, port_info->play_cap, rt->channels);
555 siu_stream = &port_info->playback;
558 siu_stream = &port_info->capture;
562 if (!port_info->play_cap) {
565 siu_dai_spbAselect(port_info);
566 siu_dai_spbBselect(port_info);
572 ret = siu_dai_spbstart(port_info);
579 port_info->play_cap |= self;