Lines Matching refs:audio

44  * The graphics and audio drivers together support High Definition Audio over
45 * HDMI and Display Port. The audio programming sequences are divided into audio
47 * handles the audio codec sequences, while the audio driver handles the audio
52 * transcoder and port, and after completed link training. Therefore the audio
56 * but generally the ELDV/PD change in the codec sequence indicates to the audio
58 * co-operation between the graphics and audio drivers is handled via audio
63 * and audio drivers. The struct &i915_audio_component_ops @ops in it is
64 * defined in graphics driver and called in audio driver. The
204 "HDMI audio pixel clock setting for %d not found, falling back to defaults\n",
210 "Configuring HDMI audio for pixel clock %d (0x%08x)\n",
341 struct i915_audio_component *acomp = i915->display.audio.component;
396 mutex_lock(&i915->display.audio.mutex);
414 /* Disable audio presence detect */
418 mutex_unlock(&i915->display.audio.mutex);
537 mutex_lock(&i915->display.audio.mutex);
543 /* Enable audio presence detect */
554 * The audio componenent is used to convey the ELD
561 mutex_unlock(&i915->display.audio.mutex);
605 mutex_lock(&i915->display.audio.mutex);
620 mutex_unlock(&i915->display.audio.mutex);
643 mutex_lock(&i915->display.audio.mutex);
650 * The audio componenent is used to convey the ELD
663 mutex_unlock(&i915->display.audio.mutex);
702 * intel_audio_codec_enable - Enable the audio codec for HD audio
703 * @encoder: encoder on which to enable audio
715 struct i915_audio_component *acomp = i915->display.audio.component;
725 drm_dbg_kms(&i915->drm, "[CONNECTOR:%d:%s][ENCODER:%d:%s] Enable audio codec on [CRTC:%d:%s], %u bytes ELD\n",
731 if (i915->display.funcs.audio)
732 i915->display.funcs.audio->audio_codec_enable(encoder,
736 mutex_lock(&i915->display.audio.mutex);
738 audio_state = &i915->display.audio.state[cpu_transcoder];
744 mutex_unlock(&i915->display.audio.mutex);
748 /* audio drivers expect cpu_transcoder = -1 to indicate Non-MST cases */
761 * intel_audio_codec_disable - Disable the audio codec for HD audio
762 * @encoder: encoder on which to disable audio
774 struct i915_audio_component *acomp = i915->display.audio.component;
784 drm_dbg_kms(&i915->drm, "[CONNECTOR:%d:%s][ENCODER:%d:%s] Disable audio codec on [CRTC:%d:%s]\n",
789 if (i915->display.funcs.audio)
790 i915->display.funcs.audio->audio_codec_disable(encoder,
794 mutex_lock(&i915->display.audio.mutex);
796 audio_state = &i915->display.audio.state[cpu_transcoder];
801 mutex_unlock(&i915->display.audio.mutex);
805 /* audio drivers expect cpu_transcoder = -1 to indicate Non-MST cases */
822 mutex_lock(&i915->display.audio.mutex);
824 audio_state = &i915->display.audio.state[cpu_transcoder];
829 mutex_unlock(&i915->display.audio.mutex);
840 if (i915->display.funcs.audio)
841 i915->display.funcs.audio->audio_codec_get_config(encoder, crtc_state);
863 * intel_audio_hooks_init - Set up chip specific audio hooks
869 i915->display.funcs.audio = &g4x_audio_funcs;
872 i915->display.funcs.audio = &ibx_audio_funcs;
874 i915->display.funcs.audio = &hsw_audio_funcs;
975 if (i915->display.audio.power_refcount++ == 0) {
978 i915->display.audio.freq_cntrl);
981 i915->display.audio.freq_cntrl);
984 /* Force CDCLK to 2*BCLK as long as we need audio powered. */
1001 /* Stop forcing CDCLK to 2*BCLK if no need for audio to be powered. */
1002 if (--i915->display.audio.power_refcount == 0)
1049 * get the intel audio state according to the parameter port and cpu_transcoder
1050 * MST & (cpu_transcoder >= 0): return the audio.state[cpu_transcoder].encoder],
1066 cpu_transcoder >= ARRAY_SIZE(i915->display.audio.state)))
1069 audio_state = &i915->display.audio.state[cpu_transcoder];
1085 audio_state = &i915->display.audio.state[cpu_transcoder];
1100 struct i915_audio_component *acomp = i915->display.audio.component;
1111 mutex_lock(&i915->display.audio.mutex);
1132 mutex_unlock(&i915->display.audio.mutex);
1145 mutex_lock(&i915->display.audio.mutex);
1150 mutex_unlock(&i915->display.audio.mutex);
1162 mutex_unlock(&i915->display.audio.mutex);
1197 i915->display.audio.component = acomp;
1212 i915->display.audio.component = NULL;
1217 if (i915->display.audio.power_refcount)
1218 drm_err(&i915->drm, "audio power refcount %d after unbind\n",
1219 i915->display.audio.power_refcount);
1237 * i915_audio_component_init - initialize and register the audio component
1250 * functionality (i.e. without HDMI audio).
1262 "failed to add audio component (%d)\n", ret);
1283 i915->display.audio.freq_cntrl = aud_freq;
1289 i915->display.audio.component_registered = true;
1293 * i915_audio_component_cleanup - deregister the audio component
1296 * Deregisters the audio component, breaking any existing binding to the
1301 if (!i915->display.audio.component_registered)
1305 i915->display.audio.component_registered = false;
1309 * intel_audio_init() - Initialize the audio driver either using
1310 * component framework or using lpe audio bridge
1321 * intel_audio_deinit() - deinitialize the audio driver
1327 if (i915->display.audio.lpe.platdev != NULL)