1178172Simp/* SPDX-License-Identifier: MIT */ 2178172Simp/* 3178172Simp * Copyright �� 2020 Intel Corporation 4178172Simp */ 5178172Simp 6178172Simp#ifndef _INTEL_DPLL_H_ 7178172Simp#define _INTEL_DPLL_H_ 8178172Simp 9178172Simp#include <linux/types.h> 10178172Simp 11178172Simpstruct dpll; 12178172Simpstruct drm_i915_private; 13178172Simpstruct intel_atomic_state; 14178172Simpstruct intel_crtc; 15178172Simpstruct intel_crtc_state; 16178172Simpenum pipe; 17178172Simp 18178172Simpvoid intel_dpll_init_clock_hook(struct drm_i915_private *dev_priv); 19178172Simpint intel_dpll_crtc_compute_clock(struct intel_atomic_state *state, 20178172Simp struct intel_crtc *crtc); 21178172Simpint intel_dpll_crtc_get_shared_dpll(struct intel_atomic_state *state, 22178172Simp struct intel_crtc *crtc); 23178172Simpint i9xx_calc_dpll_params(int refclk, struct dpll *clock); 24178172Simpu32 i9xx_dpll_compute_fp(const struct dpll *dpll); 25178172Simpvoid vlv_compute_dpll(struct intel_crtc_state *crtc_state); 26178172Simpvoid chv_compute_dpll(struct intel_crtc_state *crtc_state); 27178172Simp 28178172Simpint vlv_force_pll_on(struct drm_i915_private *dev_priv, enum pipe pipe, 29178172Simp const struct dpll *dpll); 30178172Simpvoid vlv_force_pll_off(struct drm_i915_private *dev_priv, enum pipe pipe); 31178172Simp 32178172Simpvoid chv_enable_pll(const struct intel_crtc_state *crtc_state); 33178172Simpvoid chv_disable_pll(struct drm_i915_private *dev_priv, enum pipe pipe); 34178172Simpvoid vlv_enable_pll(const struct intel_crtc_state *crtc_state); 35178172Simpvoid vlv_disable_pll(struct drm_i915_private *dev_priv, enum pipe pipe); 36178172Simpvoid i9xx_enable_pll(const struct intel_crtc_state *crtc_state); 37178172Simpvoid i9xx_disable_pll(const struct intel_crtc_state *crtc_state); 38178172Simpbool bxt_find_best_dpll(struct intel_crtc_state *crtc_state, 39178172Simp struct dpll *best_clock); 40178172Simpint chv_calc_dpll_params(int refclk, struct dpll *pll_clock); 41178172Simp 42178172Simpvoid i9xx_crtc_clock_get(struct intel_crtc *crtc, 43178172Simp struct intel_crtc_state *pipe_config); 44178172Simpvoid vlv_crtc_clock_get(struct intel_crtc *crtc, 45178172Simp struct intel_crtc_state *pipe_config); 46178172Simpvoid chv_crtc_clock_get(struct intel_crtc *crtc, 47178172Simp struct intel_crtc_state *pipe_config); 48178172Simp 49178172Simpvoid assert_pll_enabled(struct drm_i915_private *i915, enum pipe pipe); 50178172Simpvoid assert_pll_disabled(struct drm_i915_private *i915, enum pipe pipe); 51178172Simp 52178172Simp#endif 53178172Simp