1714b1cdbSDave Airlie /* SPDX-License-Identifier: MIT */ 2714b1cdbSDave Airlie /* 3714b1cdbSDave Airlie * Copyright © 2020 Intel Corporation 4714b1cdbSDave Airlie */ 5714b1cdbSDave Airlie #ifndef INTEL_SCALER_H 6714b1cdbSDave Airlie #define INTEL_SCALER_H 7714b1cdbSDave Airlie 8714b1cdbSDave Airlie #include <linux/types.h> 9714b1cdbSDave Airlie 10714b1cdbSDave Airlie enum drm_scaling_filter; 11714b1cdbSDave Airlie enum pipe; 128976b182SVille Syrjälä struct drm_i915_private; 138976b182SVille Syrjälä struct intel_crtc; 148976b182SVille Syrjälä struct intel_crtc_state; 158976b182SVille Syrjälä struct intel_plane; 168976b182SVille Syrjälä struct intel_plane_state; 17714b1cdbSDave Airlie 18714b1cdbSDave Airlie int skl_update_scaler_crtc(struct intel_crtc_state *crtc_state); 19714b1cdbSDave Airlie 20714b1cdbSDave Airlie int skl_update_scaler_plane(struct intel_crtc_state *crtc_state, 21714b1cdbSDave Airlie struct intel_plane_state *plane_state); 22714b1cdbSDave Airlie 238976b182SVille Syrjälä int intel_atomic_setup_scalers(struct drm_i915_private *dev_priv, 248976b182SVille Syrjälä struct intel_crtc *intel_crtc, 258976b182SVille Syrjälä struct intel_crtc_state *crtc_state); 268976b182SVille Syrjälä 27714b1cdbSDave Airlie void skl_pfit_enable(const struct intel_crtc_state *crtc_state); 28714b1cdbSDave Airlie 29714b1cdbSDave Airlie void skl_program_plane_scaler(struct intel_plane *plane, 30714b1cdbSDave Airlie const struct intel_crtc_state *crtc_state, 31714b1cdbSDave Airlie const struct intel_plane_state *plane_state); 32714b1cdbSDave Airlie void skl_detach_scalers(const struct intel_crtc_state *crtc_state); 33714b1cdbSDave Airlie void skl_scaler_disable(const struct intel_crtc_state *old_crtc_state); 348976b182SVille Syrjälä 35*597421a8SVille Syrjälä void skl_scaler_get_config(struct intel_crtc_state *crtc_state); 36*597421a8SVille Syrjälä 37714b1cdbSDave Airlie #endif 38