1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2020 Intel Corporation 4 */ 5 6 #ifndef _INTEL_DPLL_H_ 7 #define _INTEL_DPLL_H_ 8 9 struct dpll; 10 struct drm_i915_private; 11 struct intel_crtc; 12 struct intel_crtc_state; 13 enum pipe; 14 15 void intel_dpll_init_clock_hook(struct drm_i915_private *dev_priv); 16 int vlv_calc_dpll_params(int refclk, struct dpll *clock); 17 int pnv_calc_dpll_params(int refclk, struct dpll *clock); 18 int i9xx_calc_dpll_params(int refclk, struct dpll *clock); 19 void vlv_compute_dpll(struct intel_crtc *crtc, 20 struct intel_crtc_state *pipe_config); 21 void chv_compute_dpll(struct intel_crtc *crtc, 22 struct intel_crtc_state *pipe_config); 23 24 int vlv_force_pll_on(struct drm_i915_private *dev_priv, enum pipe pipe, 25 const struct dpll *dpll); 26 void vlv_force_pll_off(struct drm_i915_private *dev_priv, enum pipe pipe); 27 void i9xx_enable_pll(struct intel_crtc *crtc, 28 const struct intel_crtc_state *crtc_state); 29 void vlv_enable_pll(struct intel_crtc *crtc, 30 const struct intel_crtc_state *pipe_config); 31 void chv_enable_pll(struct intel_crtc *crtc, 32 const struct intel_crtc_state *pipe_config); 33 void vlv_disable_pll(struct drm_i915_private *dev_priv, enum pipe pipe); 34 void chv_disable_pll(struct drm_i915_private *dev_priv, enum pipe pipe); 35 void i9xx_disable_pll(const struct intel_crtc_state *crtc_state); 36 void vlv_prepare_pll(struct intel_crtc *crtc, 37 const struct intel_crtc_state *pipe_config); 38 void chv_prepare_pll(struct intel_crtc *crtc, 39 const struct intel_crtc_state *pipe_config); 40 41 #endif 42