Lines Matching refs:audio

19  * HDMI audio is implemented entirely within the HDMI IP block.  A
21 * and transfers them over an internal MAI (multi-channel audio
963 struct hdmi_audio_infoframe *audio = &vc4_hdmi->audio.infoframe;
966 memcpy(&frame.audio, audio, sizeof(*audio));
1002 * If audio was streaming, then we need to reenabled the audio
1005 if (vc4_hdmi->audio.streaming)
2308 /* HDMI audio codec callbacks */
2408 vc4_hdmi->audio.streaming = true;
2439 vc4_hdmi->audio.streaming = false;
2442 dev_err(dev, "Failed to stop audio infoframe: %d\n", ret);
2477 vc4_hdmi->audio.streaming = false;
2524 /* HDMI audio codec callbacks */
2608 memcpy(&vc4_hdmi->audio.infoframe, &params->cea, sizeof(params->cea));
2628 snd_soc_dai_init_dma_data(dai, &vc4_hdmi->audio.dma_data, NULL);
2653 .chan_names[SNDRV_PCM_STREAM_PLAYBACK] = "audio-rx",
2687 platform_device_unregister(vc4_hdmi->audio.codec_pdev);
2688 vc4_hdmi->audio.codec_pdev = NULL;
2695 struct snd_soc_dai_link *dai_link = &vc4_hdmi->audio.link;
2696 struct snd_soc_card *card = &vc4_hdmi->audio.card;
2721 BUILD_BUG_ON(offsetof(struct vc4_hdmi, audio) != 0);
2725 "'dmas' DT property is missing or empty, no HDMI audio\n");
2750 vc4_hdmi->audio.dma_data.addr = be32_to_cpup(addr) + mai_data->offset;
2751 vc4_hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
2752 vc4_hdmi->audio.dma_data.maxburst = 2;
2756 * registration there to avoid removing all the audio components
2770 * by the use of drm_dev_enter()/drm_dev_exit() in the audio
2799 vc4_hdmi->audio.codec_pdev = codec_pdev;
2805 dai_link->cpus = &vc4_hdmi->audio.cpu;
2806 dai_link->codecs = &vc4_hdmi->audio.codec;
2807 dai_link->platforms = &vc4_hdmi->audio.platform;
3534 vc4_hdmi->audio_clock = devm_clk_get(dev, "audio");
3536 DRM_ERROR("Failed to get audio clock\n");