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
11enum port;
12struct drm_i915_private;
13struct intel_crtc_state;
14struct intel_encoder;
15
16int vlv_dsi_pll_compute(struct intel_encoder *encoder,
17			struct intel_crtc_state *config);
18void vlv_dsi_pll_enable(struct intel_encoder *encoder,
19			const struct intel_crtc_state *config);
20void vlv_dsi_pll_disable(struct intel_encoder *encoder);
21u32 vlv_dsi_get_pclk(struct intel_encoder *encoder,
22		     struct intel_crtc_state *config);
23void vlv_dsi_reset_clocks(struct intel_encoder *encoder, enum port port);
24
25bool bxt_dsi_pll_is_enabled(struct drm_i915_private *dev_priv);
26int bxt_dsi_pll_compute(struct intel_encoder *encoder,
27			struct intel_crtc_state *config);
28void bxt_dsi_pll_enable(struct intel_encoder *encoder,
29			const struct intel_crtc_state *config);
30void bxt_dsi_pll_disable(struct intel_encoder *encoder);
31u32 bxt_dsi_get_pclk(struct intel_encoder *encoder,
32		     struct intel_crtc_state *config);
33void bxt_dsi_reset_clocks(struct intel_encoder *encoder, enum port port);
34
35#ifdef I915
36void assert_dsi_pll_enabled(struct drm_i915_private *i915);
37void assert_dsi_pll_disabled(struct drm_i915_private *i915);
38#else
39static inline void assert_dsi_pll_enabled(struct drm_i915_private *i915)
40{
41}
42static inline void assert_dsi_pll_disabled(struct drm_i915_private *i915)
43{
44}
45#endif
46
47#endif /* __VLV_DSI_PLL_H__ */
48