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 intel_crtc_state;
13struct intel_display;
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
25int bxt_dsi_pll_compute(struct intel_encoder *encoder,
26 struct intel_crtc_state *config);
27void bxt_dsi_pll_enable(struct intel_encoder *encoder,
28 const struct intel_crtc_state *config);
29void bxt_dsi_pll_disable(struct intel_encoder *encoder);
30u32 bxt_dsi_get_pclk(struct intel_encoder *encoder,
31 struct intel_crtc_state *config);
32void bxt_dsi_reset_clocks(struct intel_encoder *encoder, enum port port);
33
34#ifdef I915
35bool bxt_dsi_pll_is_enabled(struct intel_display *display);
36void assert_dsi_pll_enabled(struct intel_display *display);
37void assert_dsi_pll_disabled(struct intel_display *display);
38#else
39static inline bool bxt_dsi_pll_is_enabled(struct intel_display *display)
40{
41 return false;
42}
43static inline void assert_dsi_pll_enabled(struct intel_display *display)
44{
45}
46
47static inline void assert_dsi_pll_disabled(struct intel_display *display)
48{
49}
50#endif
51
52#endif /* __VLV_DSI_PLL_H__ */
53