1/* SPDX-License-Identifier: MIT */ 2/* 3 * Copyright © 2022-2023 Intel Corporation 4 */ 5 6#ifndef __INTEL_VBLANK_H__ 7#define __INTEL_VBLANK_H__ 8 9#include <linux/ktime.h> 10#include <linux/types.h> 11 12struct drm_crtc; 13struct intel_crtc; 14struct intel_crtc_state; 15 16u32 i915_get_vblank_counter(struct drm_crtc *crtc); 17u32 g4x_get_vblank_counter(struct drm_crtc *crtc); 18bool intel_crtc_get_vblank_timestamp(struct drm_crtc *crtc, int *max_error, 19 ktime_t *vblank_time, bool in_vblank_irq); 20int intel_get_crtc_scanline(struct intel_crtc *crtc); 21void intel_wait_for_pipe_scanline_stopped(struct intel_crtc *crtc); 22void intel_wait_for_pipe_scanline_moving(struct intel_crtc *crtc); 23void intel_crtc_update_active_timings(const struct intel_crtc_state *crtc_state, 24 bool vrr_enable); 25 26#endif /* __INTEL_VBLANK_H__ */ 27