File Index
Files and directories
Sign in
FILE

intel_vblank.h

File preview with syntax highlighting.

linux-6.19.14/drivers/gpu/drm/i915/display/intel_vblank.h C
 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 drm_display_mode;
14struct intel_atomic_state;
15struct intel_crtc;
16struct intel_crtc_state;
17
18struct intel_vblank_evade_ctx {
19	struct intel_crtc *crtc;
20	int min, max, vblank_start;
21	bool need_vlv_dsi_wa;
22};
23
24int intel_mode_vdisplay(const struct drm_display_mode *mode);
25int intel_mode_vblank_start(const struct drm_display_mode *mode);
26int intel_mode_vblank_end(const struct drm_display_mode *mode);
27int intel_mode_vtotal(const struct drm_display_mode *mode);
28int intel_mode_vblank_delay(const struct drm_display_mode *mode);
29
30void intel_vblank_evade_init(const struct intel_crtc_state *old_crtc_state,
31			     const struct intel_crtc_state *new_crtc_state,
32			     struct intel_vblank_evade_ctx *evade);
33/* must be called with vblank interrupt already enabled! */
34int intel_vblank_evade(struct intel_vblank_evade_ctx *evade);
35
36u32 i915_get_vblank_counter(struct drm_crtc *crtc);
37u32 g4x_get_vblank_counter(struct drm_crtc *crtc);
38bool intel_crtc_get_vblank_timestamp(struct drm_crtc *crtc, int *max_error,
39				     ktime_t *vblank_time, bool in_vblank_irq);
40int intel_get_crtc_scanline(struct intel_crtc *crtc);
41void intel_wait_for_pipe_scanline_stopped(struct intel_crtc *crtc);
42void intel_wait_for_pipe_scanline_moving(struct intel_crtc *crtc);
43void intel_crtc_update_active_timings(const struct intel_crtc_state *crtc_state,
44				      bool vrr_enable);
45int intel_crtc_scanline_offset(const struct intel_crtc_state *crtc_state);
46
47const struct intel_crtc_state *
48intel_pre_commit_crtc_state(struct intel_atomic_state *state,
49			    struct intel_crtc *crtc);
50
51int intel_crtc_vblank_length(const struct intel_crtc_state *crtc_state);
52
53#endif /* __INTEL_VBLANK_H__ */
~/ Read-only file preview.