XenevaOS
Loading...
Searching...
No Matches
Classes
drm_encoder.h File Reference
#include <linux/list.h>
#include <linux/ctype.h>
#include <linux/mutex.h>
#include <drm/drm_crtc.h>
#include <drm/drm_mode.h>
#include <drm/drm_mode_object.h>
#include <drm/drm_util.h>
Include dependency graph for drm_encoder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  drm_encoder_funcs
 
struct  drm_encoder
 

: human readable name, can be overwritten by the driver

struct drm_encoder - central DRM encoder structure @dev: parent DRM device @head: list management @base: base KMS object

@funcs: control functions, can be NULL for simple managed encoders @helper_private: mid-layer private data

CRTCs drive pixels to encoders, which convert them into signals appropriate for a given connector or set of connectors.

#define obj_to_encoder(x)   container_of(x, struct drm_encoder, base)
 
struct drm_encoder * encoder
 
struct drm_encoder const struct drm_encoder_funcs * funcs
 
struct drm_encoder const struct drm_encoder_funcs int encoder_type
 
struct drm_encoder const struct drm_encoder_funcs int const char * name
 
struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder const struct drm_encoder_funcs int const char size_t size
 
struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder const struct drm_encoder_funcs int const char size_t size_t offset
 
 __printf (5, 6) int drm_encoder_init(struct drm_device *dev
 
struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder const struct drm_encoder_funcs int const char __printf (6, 7) void *__drmm_encoder_alloc(struct drm_device *dev
 

: printf style format string for the encoder name, or NULL for default name

drmm_plain_encoder_alloc - Allocate and initialize an encoder @dev: drm device @funcs: callbacks for this encoder (optional) @encoder_type: user visible type of the encoder

This is a simplified version of drmm_encoder_alloc(), which only allocates and returns a struct drm_encoder instance, with no subclassing.

Returns: Pointer to the new drm_encoder struct, or ERR_PTR on failure.

#define drmm_encoder_alloc(dev, type, member, funcs, encoder_type, name, ...)
 
#define drmm_plain_encoder_alloc(dev, funcs, encoder_type, name, ...)
 
#define drm_for_each_encoder_mask(encoder, dev, encoder_mask)
 
#define drm_for_each_encoder(encoder, dev)    list_for_each_entry(encoder, &(dev)->mode_config.encoder_list, head)
 
void drm_encoder_cleanup (struct drm_encoder *encoder)
 

Macro Definition Documentation

◆ drm_for_each_encoder

#define drm_for_each_encoder (   encoder,
  dev 
)     list_for_each_entry(encoder, &(dev)->mode_config.encoder_list, head)

drm_for_each_encoder - iterate over all encoders @encoder: the loop cursor @dev: the DRM device

Iterate over all encoders of @dev.

◆ drm_for_each_encoder_mask

#define drm_for_each_encoder_mask (   encoder,
  dev,
  encoder_mask 
)
Value:
list_for_each_entry((encoder), &(dev)->mode_config.encoder_list, head) \
for_each_if ((encoder_mask) & drm_encoder_mask(encoder))
#define list_for_each_entry(pos, head, member)
Definition list.h:66
struct drm_encoder * encoder
Definition drm_encoder.h:211
const struct device * dev
Definition drm_print.h:519
int const struct list_head const struct list_head struct list_head * head
Definition list_sort.h:13

drm_for_each_encoder_mask - iterate over encoders specified by bitmask @encoder: the loop cursor @dev: the DRM device @encoder_mask: bitmask of encoder indices

Iterate over all encoders specified by bitmask.

◆ drmm_encoder_alloc

#define drmm_encoder_alloc (   dev,
  type,
  member,
  funcs,
  encoder_type,
  name,
  ... 
)
Value:
((type *)__drmm_encoder_alloc(dev, sizeof(type), \
offsetof(type, member), funcs, \
encoder_type, name, ##__VA_ARGS__))
struct drm_encoder const struct drm_encoder_funcs * funcs
Definition drm_encoder.h:212
struct drm_encoder const struct drm_encoder_funcs int const char * name
Definition drm_encoder.h:213
struct drm_encoder const struct drm_encoder_funcs int encoder_type
Definition drm_encoder.h:213

◆ drmm_plain_encoder_alloc

#define drmm_plain_encoder_alloc (   dev,
  funcs,
  encoder_type,
  name,
  ... 
)
Value:
((struct drm_encoder *) \
__drmm_encoder_alloc(dev, sizeof(struct drm_encoder), \
0, funcs, encoder_type, name, ##__VA_ARGS__))
Definition drm_encoder.h:106

◆ obj_to_encoder

#define obj_to_encoder (   x)    container_of(x, struct drm_encoder, base)

Function Documentation

◆ __printf() [1/2]

struct drm_encoder const struct drm_encoder_funcs int const char __printf ( 5  ,
6   
)

◆ __printf() [2/2]

struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder const struct drm_encoder_funcs int const char __printf ( 6  ,
7   
)

◆ drm_encoder_cleanup()

void drm_encoder_cleanup ( struct drm_encoder *  encoder)

Variable Documentation

◆ encoder

struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder * encoder

◆ encoder_type

struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder const struct drm_encoder_funcs int const char size_t size_t const struct drm_encoder_funcs int encoder_type

◆ funcs

struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder const struct drm_encoder_funcs int const char size_t size_t const struct drm_encoder_funcs* funcs

◆ name

struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder const struct drm_encoder_funcs int const char size_t size_t const struct drm_encoder_funcs int const char* name

◆ offset

struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder const struct drm_encoder_funcs int const char size_t size_t offset

◆ size

struct drm_encoder const struct drm_encoder_funcs int const char struct drm_encoder const struct drm_encoder_funcs int const char size_t size