1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2021 Intel Corporation
4  */
5 
6 #ifndef __VLV_DSI_PLL_H__
7 #define __VLV_DSI_PLL_H__
8 
9 #include <linux/types.h>
10 
11 enum port;
12 struct drm_i915_private;
13 struct intel_crtc_state;
14 struct intel_display;
15 struct intel_encoder;
16 
17 int vlv_dsi_pll_compute(struct intel_encoder *encoder,
18 			struct intel_crtc_state *config);
19 void vlv_dsi_pll_enable(struct intel_encoder *encoder,
20 			const struct intel_crtc_state *config);
21 void vlv_dsi_pll_disable(struct intel_encoder *encoder);
22 u32 vlv_dsi_get_pclk(struct intel_encoder *encoder,
23 		     struct intel_crtc_state *config);
24 void vlv_dsi_reset_clocks(struct intel_encoder *encoder, enum port port);
25 
26 int bxt_dsi_pll_compute(struct intel_encoder *encoder,
27 			struct intel_crtc_state *config);
28 void bxt_dsi_pll_enable(struct intel_encoder *encoder,
29 			const struct intel_crtc_state *config);
30 void bxt_dsi_pll_disable(struct intel_encoder *encoder);
31 u32 bxt_dsi_get_pclk(struct intel_encoder *encoder,
32 		     struct intel_crtc_state *config);
33 void bxt_dsi_reset_clocks(struct intel_encoder *encoder, enum port port);
34 
35 #ifdef I915
36 bool bxt_dsi_pll_is_enabled(struct drm_i915_private *dev_priv);
37 void assert_dsi_pll_enabled(struct intel_display *display);
38 void assert_dsi_pll_disabled(struct intel_display *display);
39 #else
bxt_dsi_pll_is_enabled(struct drm_i915_private * dev_priv)40 static inline bool bxt_dsi_pll_is_enabled(struct drm_i915_private *dev_priv)
41 {
42 	return false;
43 }
assert_dsi_pll_enabled(struct intel_display * display)44 static inline void assert_dsi_pll_enabled(struct intel_display *display)
45 {
46 }
47 
assert_dsi_pll_disabled(struct intel_display * display)48 static inline void assert_dsi_pll_disabled(struct intel_display *display)
49 {
50 }
51 #endif
52 
53 #endif /* __VLV_DSI_PLL_H__ */
54