0001
0002
0003
0004
0005
0006 #ifndef __INTEL_SNPS_PHY_H__
0007 #define __INTEL_SNPS_PHY_H__
0008
0009 #include <linux/types.h>
0010
0011 struct drm_i915_private;
0012 struct intel_atomic_state;
0013 struct intel_crtc_state;
0014 struct intel_encoder;
0015 struct intel_mpllb_state;
0016 enum phy;
0017
0018 void intel_snps_phy_wait_for_calibration(struct drm_i915_private *dev_priv);
0019 void intel_snps_phy_update_psr_power_state(struct drm_i915_private *dev_priv,
0020 enum phy phy, bool enable);
0021
0022 int intel_mpllb_calc_state(struct intel_crtc_state *crtc_state,
0023 struct intel_encoder *encoder);
0024 void intel_mpllb_enable(struct intel_encoder *encoder,
0025 const struct intel_crtc_state *crtc_state);
0026 void intel_mpllb_disable(struct intel_encoder *encoder);
0027 void intel_mpllb_readout_hw_state(struct intel_encoder *encoder,
0028 struct intel_mpllb_state *pll_state);
0029 int intel_mpllb_calc_port_clock(struct intel_encoder *encoder,
0030 const struct intel_mpllb_state *pll_state);
0031
0032 int intel_snps_phy_check_hdmi_link_rate(int clock);
0033 void intel_snps_phy_set_signal_levels(struct intel_encoder *encoder,
0034 const struct intel_crtc_state *crtc_state);
0035 void intel_mpllb_state_verify(struct intel_atomic_state *state,
0036 struct intel_crtc_state *new_crtc_state);
0037
0038 #endif