2021-01-14 13:13:46 +02:00
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2020 Intel Corporation
*/
# ifndef _INTEL_DPLL_H_
# define _INTEL_DPLL_H_
2021-04-27 15:03:15 +03:00
# include <linux/types.h>
2021-01-14 13:13:46 +02:00
struct dpll ;
struct drm_i915_private ;
struct intel_crtc ;
struct intel_crtc_state ;
2021-02-05 16:48:40 +02:00
enum pipe ;
2021-01-14 13:13:46 +02:00
void intel_dpll_init_clock_hook ( struct drm_i915_private * dev_priv ) ;
2022-02-03 16:02:31 +02:00
int intel_dpll_crtc_compute_clock ( struct intel_crtc_state * crtc_state ) ;
2021-01-14 13:13:46 +02:00
int vlv_calc_dpll_params ( int refclk , struct dpll * clock ) ;
int pnv_calc_dpll_params ( int refclk , struct dpll * clock ) ;
int i9xx_calc_dpll_params ( int refclk , struct dpll * clock ) ;
2021-07-15 12:35:21 +03:00
u32 i9xx_dpll_compute_fp ( const struct dpll * dpll ) ;
2021-07-15 12:35:22 +03:00
void vlv_compute_dpll ( struct intel_crtc_state * crtc_state ) ;
void chv_compute_dpll ( struct intel_crtc_state * crtc_state ) ;
2021-01-14 13:13:46 +02:00
2021-02-05 16:48:40 +02:00
int vlv_force_pll_on ( struct drm_i915_private * dev_priv , enum pipe pipe ,
const struct dpll * dpll ) ;
void vlv_force_pll_off ( struct drm_i915_private * dev_priv , enum pipe pipe ) ;
2021-07-15 12:35:26 +03:00
2021-07-15 12:35:22 +03:00
void chv_enable_pll ( const struct intel_crtc_state * crtc_state ) ;
2021-02-05 16:48:40 +02:00
void chv_disable_pll ( struct drm_i915_private * dev_priv , enum pipe pipe ) ;
2021-07-15 12:35:26 +03:00
void vlv_enable_pll ( const struct intel_crtc_state * crtc_state ) ;
void vlv_disable_pll ( struct drm_i915_private * dev_priv , enum pipe pipe ) ;
void i9xx_enable_pll ( const struct intel_crtc_state * crtc_state ) ;
2021-02-05 16:48:40 +02:00
void i9xx_disable_pll ( const struct intel_crtc_state * crtc_state ) ;
2021-04-27 15:03:15 +03:00
bool bxt_find_best_dpll ( struct intel_crtc_state * crtc_state ,
struct dpll * best_clock ) ;
int chv_calc_dpll_params ( int refclk , struct dpll * pll_clock ) ;
2021-02-05 16:48:40 +02:00
2021-09-30 12:23:00 +03:00
void assert_pll_enabled ( struct drm_i915_private * i915 , enum pipe pipe ) ;
void assert_pll_disabled ( struct drm_i915_private * i915 , enum pipe pipe ) ;
2021-01-14 13:13:46 +02:00
# endif