1df0566a6SJani Nikula /* SPDX-License-Identifier: MIT */
2df0566a6SJani Nikula /*
3df0566a6SJani Nikula  * Copyright © 2019 Intel Corporation
4df0566a6SJani Nikula  */
5df0566a6SJani Nikula 
6df0566a6SJani Nikula #ifndef __INTEL_AUDIO_H__
7df0566a6SJani Nikula #define __INTEL_AUDIO_H__
8df0566a6SJani Nikula 
95d986635SVille Syrjälä #include <linux/types.h>
105d986635SVille Syrjälä 
11df0566a6SJani Nikula struct drm_connector_state;
12df0566a6SJani Nikula struct drm_i915_private;
13df0566a6SJani Nikula struct intel_crtc_state;
14df0566a6SJani Nikula struct intel_encoder;
15df0566a6SJani Nikula 
16f47a0e35SJani Nikula void intel_audio_hooks_init(struct drm_i915_private *dev_priv);
175d986635SVille Syrjälä bool intel_audio_compute_config(struct intel_encoder *encoder,
185d986635SVille Syrjälä 				struct intel_crtc_state *crtc_state,
195d986635SVille Syrjälä 				struct drm_connector_state *conn_state);
20df0566a6SJani Nikula void intel_audio_codec_enable(struct intel_encoder *encoder,
21df0566a6SJani Nikula 			      const struct intel_crtc_state *crtc_state,
22df0566a6SJani Nikula 			      const struct drm_connector_state *conn_state);
23df0566a6SJani Nikula void intel_audio_codec_disable(struct intel_encoder *encoder,
24df0566a6SJani Nikula 			       const struct intel_crtc_state *old_crtc_state,
25df0566a6SJani Nikula 			       const struct drm_connector_state *old_conn_state);
2661a60df6SVille Syrjälä void intel_audio_codec_get_config(struct intel_encoder *encoder,
2761a60df6SVille Syrjälä 				  struct intel_crtc_state *crtc_state);
28112a87c4SKai Vehmanen void intel_audio_cdclk_change_pre(struct drm_i915_private *dev_priv);
29112a87c4SKai Vehmanen void intel_audio_cdclk_change_post(struct drm_i915_private *dev_priv);
30df0566a6SJani Nikula void intel_audio_init(struct drm_i915_private *dev_priv);
31f287b1e3SImre Deak void intel_audio_register(struct drm_i915_private *i915);
32df0566a6SJani Nikula void intel_audio_deinit(struct drm_i915_private *dev_priv);
338853750dSVinod Govindapillai void intel_audio_sdp_split_update(struct intel_encoder *encoder,
348853750dSVinod Govindapillai 				  const struct intel_crtc_state *crtc_state);
35df0566a6SJani Nikula 
36df0566a6SJani Nikula #endif /* __INTEL_AUDIO_H__ */
37