1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright (C) 2025 Intel Corporation 4 */ 5 6 #ifndef __INTEL_CMTG_H__ 7 #define __INTEL_CMTG_H__ 8 9 #include <linux/types.h> 10 11 struct intel_atomic_state; 12 struct intel_display; 13 struct intel_crtc_state; 14 15 enum set_timing_type { 16 MODESET = 0, 17 LRR 18 }; 19 20 void intel_cmtg_disable(const struct intel_crtc_state *crtc_state); 21 void intel_cmtg_set_m_n(const struct intel_crtc_state *crtc_state); 22 void intel_cmtg_set_vrr_timings(const struct intel_crtc_state *crtc_state); 23 void intel_cmtg_set_vrr_ctl(const struct intel_crtc_state *crtc_state); 24 void intel_cmtg_set_timings(const struct intel_crtc_state *crtc_state, enum set_timing_type type); 25 void intel_cmtg_set_clk_select(const struct intel_crtc_state *crtc_state); 26 void intel_cmtg_sanitize(struct intel_display *display); 27 bool intel_cmtg_is_allowed(const struct intel_crtc_state *crtc_state); 28 void intel_cmtg_program(struct intel_atomic_state *state); 29 30 #endif /* __INTEL_CMTG_H__ */ 31