1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2019 Intel Corporation 4 */ 5 6 #ifndef __INTEL_PM_H__ 7 #define __INTEL_PM_H__ 8 9 #include <linux/types.h> 10 11 struct drm_i915_private; 12 struct intel_crtc_state; 13 struct intel_plane_state; 14 15 void intel_init_clock_gating(struct drm_i915_private *dev_priv); 16 void intel_suspend_hw(struct drm_i915_private *dev_priv); 17 int ilk_wm_max_level(const struct drm_i915_private *dev_priv); 18 void intel_init_pm(struct drm_i915_private *dev_priv); 19 void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv); 20 void intel_pm_setup(struct drm_i915_private *dev_priv); 21 void g4x_wm_get_hw_state(struct drm_i915_private *dev_priv); 22 void vlv_wm_get_hw_state(struct drm_i915_private *dev_priv); 23 void ilk_wm_get_hw_state(struct drm_i915_private *dev_priv); 24 void g4x_wm_sanitize(struct drm_i915_private *dev_priv); 25 void vlv_wm_sanitize(struct drm_i915_private *dev_priv); 26 bool ilk_disable_lp_wm(struct drm_i915_private *dev_priv); 27 bool intel_wm_plane_visible(const struct intel_crtc_state *crtc_state, 28 const struct intel_plane_state *plane_state); 29 void intel_print_wm_latency(struct drm_i915_private *dev_priv, 30 const char *name, const u16 wm[]); 31 32 bool intel_set_memory_cxsr(struct drm_i915_private *dev_priv, bool enable); 33 34 #endif /* __INTEL_PM_H__ */ 35