XenevaOS
Loading...
Searching...
No Matches
drm_vblank_helper.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0+ */
2
3#ifndef _DRM_VBLANK_HELPER_H_
4#define _DRM_VBLANK_HELPER_H_
5
7#include <linux/types.h>
8
10struct drm_crtc;
11
12/*
13 * VBLANK helpers
14 */
15
17 struct drm_atomic_commit *state);
19 struct drm_atomic_commit *state);
21 struct drm_atomic_commit *crtc_state);
22
29#define DRM_CRTC_HELPER_VBLANK_FUNCS \
30 .atomic_flush = drm_crtc_vblank_atomic_flush, \
31 .atomic_enable = drm_crtc_vblank_atomic_enable, \
32 .atomic_disable = drm_crtc_vblank_atomic_disable
33
34/*
35 * VBLANK timer
36 */
37
41 int *max_error,
42 ktime_t *vblank_time,
43 bool in_vblank_irq);
44
51#define DRM_CRTC_VBLANK_TIMER_FUNCS \
52 .enable_vblank = drm_crtc_vblank_helper_enable_vblank_timer, \
53 .disable_vblank = drm_crtc_vblank_helper_disable_vblank_timer, \
54 .get_vblank_timestamp = drm_crtc_vblank_helper_get_vblank_timestamp_from_timer
55
56#endif
struct drm_crtc * crtc
Definition drm_crtc.h:1238
bool drm_crtc_vblank_helper_get_vblank_timestamp_from_timer(struct drm_crtc *crtc, int *max_error, ktime_t *vblank_time, bool in_vblank_irq)
void drm_crtc_vblank_helper_disable_vblank_timer(struct drm_crtc *crtc)
void drm_crtc_vblank_atomic_disable(struct drm_crtc *crtc, struct drm_atomic_commit *crtc_state)
int drm_crtc_vblank_helper_enable_vblank_timer(struct drm_crtc *crtc)
void drm_crtc_vblank_atomic_enable(struct drm_crtc *crtc, struct drm_atomic_commit *state)
void drm_crtc_vblank_atomic_flush(struct drm_crtc *crtc, struct drm_atomic_commit *state)
int64_t ktime_t
Definition kernel.h:404
Definition drm_atomic.h:480
Definition drm_crtc.h:955
#define state(x)