Lines Matching refs:ad

50 	struct hdmi_audio_data *ad = dev_get_drvdata(dev);
52 mutex_lock(&ad->current_stream_lock);
53 if (ad->current_stream && ad->current_stream->runtime &&
54 snd_pcm_running(ad->current_stream)) {
56 snd_pcm_stream_lock_irq(ad->current_stream);
57 snd_pcm_stop(ad->current_stream, SNDRV_PCM_STATE_DISCONNECTED);
58 snd_pcm_stream_unlock_irq(ad->current_stream);
60 mutex_unlock(&ad->current_stream_lock);
66 struct hdmi_audio_data *ad = card_drvdata_substream(substream);
87 snd_soc_dai_set_dma_data(dai, substream, &ad->dma_data);
89 mutex_lock(&ad->current_stream_lock);
90 ad->current_stream = substream;
91 mutex_unlock(&ad->current_stream_lock);
93 ret = ad->ops->audio_startup(ad->dssdev, hdmi_dai_abort);
96 mutex_lock(&ad->current_stream_lock);
97 ad->current_stream = NULL;
98 mutex_unlock(&ad->current_stream_lock);
108 struct hdmi_audio_data *ad = card_drvdata_substream(substream);
109 struct snd_aes_iec958 *iec = &ad->iec;
110 struct snd_cea_861_aud_if *cea = &ad->cea;
112 WARN_ON(ad->current_stream != substream);
116 ad->dma_data.maxburst = 16;
119 ad->dma_data.maxburst = 32;
126 ad->dss_audio.iec = iec;
127 ad->dss_audio.cea = cea;
227 return ad->ops->audio_config(ad->dssdev, &ad->dss_audio);
233 struct hdmi_audio_data *ad = card_drvdata_substream(substream);
236 WARN_ON(ad->current_stream != substream);
242 err = ad->ops->audio_start(ad->dssdev);
247 ad->ops->audio_stop(ad->dssdev);
258 struct hdmi_audio_data *ad = card_drvdata_substream(substream);
260 WARN_ON(ad->current_stream != substream);
262 ad->ops->audio_shutdown(ad->dssdev);
264 mutex_lock(&ad->current_stream_lock);
265 ad->current_stream = NULL;
266 mutex_unlock(&ad->current_stream_lock);
312 struct hdmi_audio_data *ad;
323 ad = devm_kzalloc(dev, sizeof(*ad), GFP_KERNEL);
324 if (!ad)
326 ad->dssdev = ha->dev;
327 ad->ops = ha->ops;
328 ad->dma_data.addr = ha->audio_dma_addr;
329 ad->dma_data.filter_data = "audio_tx";
330 ad->dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
331 mutex_init(&ad->current_stream_lock);
343 ret = devm_snd_soc_register_component(ad->dssdev, &omap_hdmi_component,
348 ret = sdma_pcm_platform_register(ad->dssdev, "audio_tx", NULL);
357 "HDMI %s", dev_name(ad->dssdev));
379 card->dai_link->cpus->dai_name = dev_name(ad->dssdev);
380 card->dai_link->platforms->name = dev_name(ad->dssdev);
392 ad->card = card;
393 snd_soc_card_set_drvdata(card, ad);
395 dev_set_drvdata(dev, ad);
402 struct hdmi_audio_data *ad = platform_get_drvdata(pdev);
404 snd_soc_unregister_card(ad->card);