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);
313 struct hdmi_audio_data *ad;
324 ad = devm_kzalloc(dev, sizeof(*ad), GFP_KERNEL);
325 if (!ad)
327 ad->dssdev = ha->dev;
328 ad->ops = ha->ops;
329 ad->dma_data.addr = ha->audio_dma_addr;
330 ad->dma_data.filter_data = "audio_tx";
331 ad->dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
332 mutex_init(&ad->current_stream_lock);
344 ret = devm_snd_soc_register_component(ad->dssdev, &omap_hdmi_component,
349 ret = sdma_pcm_platform_register(ad->dssdev, "audio_tx", NULL);
358 "HDMI %s", dev_name(ad->dssdev));
378 card->dai_link->cpus->dai_name = dev_name(ad->dssdev);
388 ad->card = card;
389 snd_soc_card_set_drvdata(card, ad);
391 dev_set_drvdata(dev, ad);
398 struct hdmi_audio_data *ad = platform_get_drvdata(pdev);
400 snd_soc_unregister_card(ad->card);