1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2020 Intel Corporation 4 */ 5 #ifndef INTEL_SCALER_H 6 #define INTEL_SCALER_H 7 8 enum drm_mode_status; 9 struct drm_display_mode; 10 struct intel_atomic_state; 11 struct intel_crtc; 12 struct intel_crtc_state; 13 struct intel_display; 14 struct intel_dsb; 15 enum intel_output_format; 16 struct intel_plane; 17 struct intel_plane_state; 18 19 int skl_update_scaler_crtc(struct intel_crtc_state *crtc_state); 20 21 int skl_update_scaler_plane(struct intel_crtc_state *crtc_state, 22 struct intel_plane_state *plane_state); 23 24 int intel_atomic_setup_scalers(struct intel_atomic_state *state, 25 struct intel_crtc *crtc); 26 27 void skl_pfit_enable(const struct intel_crtc_state *crtc_state); 28 29 void skl_program_plane_scaler(struct intel_dsb *dsb, 30 struct intel_plane *plane, 31 const struct intel_crtc_state *crtc_state, 32 const struct intel_plane_state *plane_state); 33 void skl_detach_scalers(struct intel_dsb *dsb, 34 const struct intel_crtc_state *crtc_state); 35 void skl_scaler_disable(const struct intel_crtc_state *old_crtc_state); 36 37 void skl_scaler_get_config(struct intel_crtc_state *crtc_state); 38 39 enum drm_mode_status 40 skl_scaler_mode_valid(struct intel_display *display, 41 const struct drm_display_mode *mode, 42 enum intel_output_format output_format, 43 int num_joined_pipes); 44 45 void adl_scaler_ecc_mask(const struct intel_crtc_state *crtc_state); 46 47 void adl_scaler_ecc_unmask(const struct intel_crtc_state *crtc_state); 48 #endif 49