xref: /openbsd-src/sys/dev/pci/drm/i915/display/intel_audio.h (revision f6d48bfef753f50ff588f15b25ad7fce03be0434)
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2019 Intel Corporation
4  */
5 
6 #ifndef __INTEL_AUDIO_H__
7 #define __INTEL_AUDIO_H__
8 
9 #include <linux/types.h>
10 
11 #define drm_i915_private inteldrm_softc
12 
13 struct drm_connector_state;
14 struct drm_i915_private;
15 struct intel_crtc_state;
16 struct intel_encoder;
17 
18 void intel_audio_hooks_init(struct drm_i915_private *dev_priv);
19 bool intel_audio_compute_config(struct intel_encoder *encoder,
20 				struct intel_crtc_state *crtc_state,
21 				struct drm_connector_state *conn_state);
22 void intel_audio_codec_enable(struct intel_encoder *encoder,
23 			      const struct intel_crtc_state *crtc_state,
24 			      const struct drm_connector_state *conn_state);
25 void intel_audio_codec_disable(struct intel_encoder *encoder,
26 			       const struct intel_crtc_state *old_crtc_state,
27 			       const struct drm_connector_state *old_conn_state);
28 void intel_audio_codec_get_config(struct intel_encoder *encoder,
29 				  struct intel_crtc_state *crtc_state);
30 void intel_audio_cdclk_change_pre(struct drm_i915_private *dev_priv);
31 void intel_audio_cdclk_change_post(struct drm_i915_private *dev_priv);
32 void intel_audio_init(struct drm_i915_private *dev_priv);
33 void intel_audio_register(struct drm_i915_private *i915);
34 void intel_audio_deinit(struct drm_i915_private *dev_priv);
35 void intel_audio_sdp_split_update(struct intel_encoder *encoder,
36 				  const struct intel_crtc_state *crtc_state);
37 
38 #endif /* __INTEL_AUDIO_H__ */
39