XenevaOS
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
drm_vblank.h File Reference
#include <linux/seqlock.h>
#include <linux/hrtimer.h>
#include <linux/idr.h>
#include <linux/poll.h>
#include <linux/kthread.h>
#include <drm/drm_file.h>
#include <drm/drm_modes.h>
Include dependency graph for drm_vblank.h:

Go to the source code of this file.

Classes

struct  drm_pending_vblank_event
 
struct  drm_vblank_crtc_config
 
struct  drm_vblank_crtc_timer
 
struct  drm_vblank_crtc
 

Typedefs

typedef bool(* drm_vblank_get_scanout_position_func) (struct drm_crtc *crtc, bool in_vblank_irq, int *vpos, int *hpos, ktime_t *stime, ktime_t *etime, const struct drm_display_mode *mode)
 

Functions

struct drm_vblank_crtc * drm_crtc_vblank_crtc (struct drm_crtc *crtc)
 
int drm_vblank_init (struct drm_device *dev, unsigned int num_crtcs)
 
bool drm_dev_has_vblank (const struct drm_device *dev)
 
u64 drm_crtc_vblank_count (struct drm_crtc *crtc)
 
u64 drm_crtc_vblank_count_and_time (struct drm_crtc *crtc, ktime_t *vblanktime)
 
int drm_crtc_next_vblank_start (struct drm_crtc *crtc, ktime_t *vblanktime)
 
void drm_crtc_send_vblank_event (struct drm_crtc *crtc, struct drm_pending_vblank_event *e)
 
void drm_crtc_arm_vblank_event (struct drm_crtc *crtc, struct drm_pending_vblank_event *e)
 
void drm_vblank_set_event (struct drm_pending_vblank_event *e, u64 *seq, ktime_t *now)
 
bool drm_handle_vblank (struct drm_device *dev, unsigned int pipe)
 
bool drm_crtc_handle_vblank (struct drm_crtc *crtc)
 
int drm_crtc_vblank_get (struct drm_crtc *crtc)
 
void drm_crtc_vblank_put (struct drm_crtc *crtc)
 
int drm_crtc_wait_one_vblank (struct drm_crtc *crtc)
 
void drm_crtc_vblank_off (struct drm_crtc *crtc)
 
void drm_crtc_vblank_reset (struct drm_crtc *crtc)
 
void drm_crtc_vblank_on_config (struct drm_crtc *crtc, const struct drm_vblank_crtc_config *config)
 
void drm_crtc_vblank_on (struct drm_crtc *crtc)
 
u64 drm_crtc_accurate_vblank_count (struct drm_crtc *crtc)
 
void drm_crtc_vblank_restore (struct drm_crtc *crtc)
 
void drm_calc_timestamping_constants (struct drm_crtc *crtc, const struct drm_display_mode *mode)
 
wait_queue_head_t * drm_crtc_vblank_waitqueue (struct drm_crtc *crtc)
 
void drm_crtc_set_max_vblank_count (struct drm_crtc *crtc, u32 max_vblank_count)
 
int drm_crtc_vblank_start_timer (struct drm_crtc *crtc)
 
void drm_crtc_vblank_cancel_timer (struct drm_crtc *crtc)
 
void drm_crtc_vblank_get_vblank_timeout (struct drm_crtc *crtc, ktime_t *vblank_time)
 
bool drm_crtc_vblank_helper_get_vblank_timestamp_internal (struct drm_crtc *crtc, int *max_error, ktime_t *vblank_time, bool in_vblank_irq, drm_vblank_get_scanout_position_func get_scanout_position)
 
bool drm_crtc_vblank_helper_get_vblank_timestamp (struct drm_crtc *crtc, int *max_error, ktime_t *vblank_time, bool in_vblank_irq)
 

Typedef Documentation

◆ drm_vblank_get_scanout_position_func

typedef bool(* drm_vblank_get_scanout_position_func) (struct drm_crtc *crtc, bool in_vblank_irq, int *vpos, int *hpos, ktime_t *stime, ktime_t *etime, const struct drm_display_mode *mode)

Function Documentation

◆ drm_calc_timestamping_constants()

void drm_calc_timestamping_constants ( struct drm_crtc *  crtc,
const struct drm_display_mode *  mode 
)

◆ drm_crtc_accurate_vblank_count()

u64 drm_crtc_accurate_vblank_count ( struct drm_crtc *  crtc)

◆ drm_crtc_arm_vblank_event()

void drm_crtc_arm_vblank_event ( struct drm_crtc *  crtc,
struct drm_pending_vblank_event *  e 
)

◆ drm_crtc_handle_vblank()

bool drm_crtc_handle_vblank ( struct drm_crtc *  crtc)

◆ drm_crtc_next_vblank_start()

int drm_crtc_next_vblank_start ( struct drm_crtc *  crtc,
ktime_t *  vblanktime 
)

◆ drm_crtc_send_vblank_event()

void drm_crtc_send_vblank_event ( struct drm_crtc *  crtc,
struct drm_pending_vblank_event *  e 
)

◆ drm_crtc_set_max_vblank_count()

void drm_crtc_set_max_vblank_count ( struct drm_crtc *  crtc,
u32  max_vblank_count 
)

◆ drm_crtc_vblank_cancel_timer()

void drm_crtc_vblank_cancel_timer ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_count()

u64 drm_crtc_vblank_count ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_count_and_time()

u64 drm_crtc_vblank_count_and_time ( struct drm_crtc *  crtc,
ktime_t *  vblanktime 
)

◆ drm_crtc_vblank_crtc()

struct drm_vblank_crtc * drm_crtc_vblank_crtc ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_get()

int drm_crtc_vblank_get ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_get_vblank_timeout()

void drm_crtc_vblank_get_vblank_timeout ( struct drm_crtc *  crtc,
ktime_t *  vblank_time 
)

◆ drm_crtc_vblank_helper_get_vblank_timestamp()

bool drm_crtc_vblank_helper_get_vblank_timestamp ( struct drm_crtc *  crtc,
int *  max_error,
ktime_t *  vblank_time,
bool  in_vblank_irq 
)

◆ drm_crtc_vblank_helper_get_vblank_timestamp_internal()

bool drm_crtc_vblank_helper_get_vblank_timestamp_internal ( struct drm_crtc *  crtc,
int *  max_error,
ktime_t *  vblank_time,
bool  in_vblank_irq,
drm_vblank_get_scanout_position_func  get_scanout_position 
)

◆ drm_crtc_vblank_off()

void drm_crtc_vblank_off ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_on()

void drm_crtc_vblank_on ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_on_config()

void drm_crtc_vblank_on_config ( struct drm_crtc *  crtc,
const struct drm_vblank_crtc_config *  config 
)

◆ drm_crtc_vblank_put()

void drm_crtc_vblank_put ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_reset()

void drm_crtc_vblank_reset ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_restore()

void drm_crtc_vblank_restore ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_start_timer()

int drm_crtc_vblank_start_timer ( struct drm_crtc *  crtc)

◆ drm_crtc_vblank_waitqueue()

wait_queue_head_t * drm_crtc_vblank_waitqueue ( struct drm_crtc *  crtc)

◆ drm_crtc_wait_one_vblank()

int drm_crtc_wait_one_vblank ( struct drm_crtc *  crtc)

◆ drm_dev_has_vblank()

bool drm_dev_has_vblank ( const struct drm_device *  dev)

◆ drm_handle_vblank()

bool drm_handle_vblank ( struct drm_device *  dev,
unsigned int  pipe 
)

◆ drm_vblank_init()

int drm_vblank_init ( struct drm_device *  dev,
unsigned int  num_crtcs 
)

◆ drm_vblank_set_event()

void drm_vblank_set_event ( struct drm_pending_vblank_event *  e,
u64 *  seq,
ktime_t *  now 
)