XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Functions
drm_client.h File Reference
#include <linux/iosys-map.h>
#include <linux/lockdep.h>
#include <linux/mutex.h>
#include <linux/types.h>
#include <drm/drm_connector.h>
#include <drm/drm_crtc.h>
Include dependency graph for drm_client.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  drm_client_funcs
 
struct  drm_client_dev
 
struct  drm_client_buffer
 

Macros

#define drm_client_for_each_modeset(modeset, client)
 
#define drm_client_for_each_connector_iter(connector, iter)
 

Functions

int drm_client_init (struct drm_device *dev, struct drm_client_dev *client, const char *name, const struct drm_client_funcs *funcs)
 
void drm_client_release (struct drm_client_dev *client)
 
void drm_client_register (struct drm_client_dev *client)
 
struct drm_client_buffer * drm_client_buffer_create (struct drm_client_dev *client, u32 width, u32 height, u32 format, u32 handle, u32 pitch)
 
struct drm_client_buffer * drm_client_buffer_create_dumb (struct drm_client_dev *client, u32 width, u32 height, u32 format)
 
void drm_client_buffer_delete (struct drm_client_buffer *buffer)
 
int drm_client_buffer_flush (struct drm_client_buffer *buffer, struct drm_rect *rect)
 
int drm_client_buffer_vmap_local (struct drm_client_buffer *buffer, struct iosys_map *map_copy)
 
void drm_client_buffer_vunmap_local (struct drm_client_buffer *buffer)
 
int drm_client_buffer_vmap (struct drm_client_buffer *buffer, struct iosys_map *map)
 
void drm_client_buffer_vunmap (struct drm_client_buffer *buffer)
 
int drm_client_modeset_create (struct drm_client_dev *client)
 
void drm_client_modeset_free (struct drm_client_dev *client)
 
int drm_client_modeset_probe (struct drm_client_dev *client, unsigned int width, unsigned int height)
 
bool drm_client_rotation (struct drm_mode_set *modeset, unsigned int *rotation)
 
int drm_client_modeset_check (struct drm_client_dev *client)
 
int drm_client_modeset_commit_locked (struct drm_client_dev *client)
 
int drm_client_modeset_commit (struct drm_client_dev *client)
 
int drm_client_modeset_dpms (struct drm_client_dev *client, int mode)
 
int drm_client_modeset_wait_for_vblank (struct drm_client_dev *client, unsigned int crtc_index)
 

Macro Definition Documentation

◆ drm_client_for_each_connector_iter

#define drm_client_for_each_connector_iter (   connector,
  iter 
)
Value:
drm_for_each_connector_iter(connector, iter) \
if (connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK)
#define DRM_MODE_CONNECTOR_WRITEBACK
Definition drm_mode.h:410
#define drm_for_each_connector_iter(connector, iter)
Definition drm_connector.h:2660

drm_client_for_each_connector_iter - connector_list iterator macro @connector: &struct drm_connector pointer used as cursor @iter: &struct drm_connector_list_iter

This iterates the connectors that are useable for internal clients (excludes writeback connectors).

For more info see drm_for_each_connector_iter().

◆ drm_client_for_each_modeset

#define drm_client_for_each_modeset (   modeset,
  client 
)
Value:
for (({ lockdep_assert_held(&(client)->modeset_mutex); }), \
modeset = (client)->modesets; modeset->crtc; modeset++)
#define lockdep_assert_held(l)
Definition lockdep.h:71

drm_client_for_each_modeset() - Iterate over client modesets @modeset: &drm_mode_set loop cursor @client: DRM client

Function Documentation

◆ drm_client_buffer_create()

struct drm_client_buffer * drm_client_buffer_create ( struct drm_client_dev *  client,
u32  width,
u32  height,
u32  format,
u32  handle,
u32  pitch 
)

◆ drm_client_buffer_create_dumb()

struct drm_client_buffer * drm_client_buffer_create_dumb ( struct drm_client_dev *  client,
u32  width,
u32  height,
u32  format 
)

◆ drm_client_buffer_delete()

void drm_client_buffer_delete ( struct drm_client_buffer *  buffer)

◆ drm_client_buffer_flush()

int drm_client_buffer_flush ( struct drm_client_buffer *  buffer,
struct drm_rect *  rect 
)

◆ drm_client_buffer_vmap()

int drm_client_buffer_vmap ( struct drm_client_buffer *  buffer,
struct iosys_map *  map 
)

◆ drm_client_buffer_vmap_local()

int drm_client_buffer_vmap_local ( struct drm_client_buffer *  buffer,
struct iosys_map *  map_copy 
)

◆ drm_client_buffer_vunmap()

void drm_client_buffer_vunmap ( struct drm_client_buffer *  buffer)

◆ drm_client_buffer_vunmap_local()

void drm_client_buffer_vunmap_local ( struct drm_client_buffer *  buffer)

◆ drm_client_init()

int drm_client_init ( struct drm_device *  dev,
struct drm_client_dev *  client,
const char *  name,
const struct drm_client_funcs *  funcs 
)

◆ drm_client_modeset_check()

int drm_client_modeset_check ( struct drm_client_dev *  client)

◆ drm_client_modeset_commit()

int drm_client_modeset_commit ( struct drm_client_dev *  client)

◆ drm_client_modeset_commit_locked()

int drm_client_modeset_commit_locked ( struct drm_client_dev *  client)

◆ drm_client_modeset_create()

int drm_client_modeset_create ( struct drm_client_dev *  client)

◆ drm_client_modeset_dpms()

int drm_client_modeset_dpms ( struct drm_client_dev *  client,
int  mode 
)

◆ drm_client_modeset_free()

void drm_client_modeset_free ( struct drm_client_dev *  client)

◆ drm_client_modeset_probe()

int drm_client_modeset_probe ( struct drm_client_dev *  client,
unsigned int  width,
unsigned int  height 
)

◆ drm_client_modeset_wait_for_vblank()

int drm_client_modeset_wait_for_vblank ( struct drm_client_dev *  client,
unsigned int  crtc_index 
)

◆ drm_client_register()

void drm_client_register ( struct drm_client_dev *  client)

◆ drm_client_release()

void drm_client_release ( struct drm_client_dev *  client)

◆ drm_client_rotation()

bool drm_client_rotation ( struct drm_mode_set *  modeset,
unsigned int *  rotation 
)