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

Go to the source code of this file.

Classes

struct  drm_property_enum
 
struct  drm_property
 
struct  drm_property_blob
 
struct  drm_prop_enum_list
 

: symbolic name for the enum

struct drm_property_enum - symbolic values for enumerations @head: list of enum values, linked to &drm_property.enum_list

For enumeration and bitmask properties this structure stores the symbolic decoding for each value. This is used for example for the rotation property.

#define obj_to_property(x)   container_of(x, struct drm_property, base)
 
#define obj_to_blob(x)   container_of(x, struct drm_property_blob, base)
 
struct drm_property * drm_property_create (struct drm_device *dev, u32 flags, const char *name, int num_values)
 
struct drm_property * drm_property_create_enum (struct drm_device *dev, u32 flags, const char *name, const struct drm_prop_enum_list *props, int num_values)
 
struct drm_property * drm_property_create_bitmask (struct drm_device *dev, u32 flags, const char *name, const struct drm_prop_enum_list *props, int num_props, uint64_t supported_bits)
 
struct drm_property * drm_property_create_range (struct drm_device *dev, u32 flags, const char *name, uint64_t min, uint64_t max)
 
struct drm_property * drm_property_create_signed_range (struct drm_device *dev, u32 flags, const char *name, int64_t min, int64_t max)
 
struct drm_property * drm_property_create_object (struct drm_device *dev, u32 flags, const char *name, uint32_t type)
 
struct drm_property * drm_property_create_bool (struct drm_device *dev, u32 flags, const char *name)
 
int drm_property_add_enum (struct drm_property *property, uint64_t value, const char *name)
 
void drm_property_destroy (struct drm_device *dev, struct drm_property *property)
 
struct drm_property_blob * drm_property_create_blob (struct drm_device *dev, size_t length, const void *data)
 
struct drm_property_blob * drm_property_lookup_blob (struct drm_device *dev, uint32_t id)
 
int drm_property_replace_blob_from_id (struct drm_device *dev, struct drm_property_blob **blob, uint64_t blob_id, ssize_t expected_size, ssize_t expected_elem_size, ssize_t max_size, bool *replaced)
 
int drm_property_replace_global_blob (struct drm_device *dev, struct drm_property_blob **replace, size_t length, const void *data, struct drm_mode_object *obj_holds_id, struct drm_property *prop_holds_id)
 
bool drm_property_replace_blob (struct drm_property_blob **blob, struct drm_property_blob *new_blob)
 
struct drm_property_blob * drm_property_blob_get (struct drm_property_blob *blob)
 
void drm_property_blob_put (struct drm_property_blob *blob)
 

Macro Definition Documentation

◆ obj_to_blob

#define obj_to_blob (   x)    container_of(x, struct drm_property_blob, base)

◆ obj_to_property

#define obj_to_property (   x)    container_of(x, struct drm_property, base)

Function Documentation

◆ drm_property_add_enum()

int drm_property_add_enum ( struct drm_property *  property,
uint64_t  value,
const char *  name 
)

◆ drm_property_blob_get()

struct drm_property_blob * drm_property_blob_get ( struct drm_property_blob *  blob)

◆ drm_property_blob_put()

void drm_property_blob_put ( struct drm_property_blob *  blob)

◆ drm_property_create()

struct drm_property * drm_property_create ( struct drm_device *  dev,
u32  flags,
const char *  name,
int  num_values 
)

◆ drm_property_create_bitmask()

struct drm_property * drm_property_create_bitmask ( struct drm_device *  dev,
u32  flags,
const char *  name,
const struct drm_prop_enum_list *  props,
int  num_props,
uint64_t  supported_bits 
)

◆ drm_property_create_blob()

struct drm_property_blob * drm_property_create_blob ( struct drm_device *  dev,
size_t  length,
const void *  data 
)

◆ drm_property_create_bool()

struct drm_property * drm_property_create_bool ( struct drm_device *  dev,
u32  flags,
const char *  name 
)

◆ drm_property_create_enum()

struct drm_property * drm_property_create_enum ( struct drm_device *  dev,
u32  flags,
const char *  name,
const struct drm_prop_enum_list *  props,
int  num_values 
)

◆ drm_property_create_object()

struct drm_property * drm_property_create_object ( struct drm_device *  dev,
u32  flags,
const char *  name,
uint32_t  type 
)

◆ drm_property_create_range()

struct drm_property * drm_property_create_range ( struct drm_device *  dev,
u32  flags,
const char *  name,
uint64_t  min,
uint64_t  max 
)

◆ drm_property_create_signed_range()

struct drm_property * drm_property_create_signed_range ( struct drm_device *  dev,
u32  flags,
const char *  name,
int64_t  min,
int64_t  max 
)

◆ drm_property_destroy()

void drm_property_destroy ( struct drm_device *  dev,
struct drm_property *  property 
)

◆ drm_property_lookup_blob()

struct drm_property_blob * drm_property_lookup_blob ( struct drm_device *  dev,
uint32_t  id 
)

◆ drm_property_replace_blob()

bool drm_property_replace_blob ( struct drm_property_blob **  blob,
struct drm_property_blob *  new_blob 
)

◆ drm_property_replace_blob_from_id()

int drm_property_replace_blob_from_id ( struct drm_device *  dev,
struct drm_property_blob **  blob,
uint64_t  blob_id,
ssize_t  expected_size,
ssize_t  expected_elem_size,
ssize_t  max_size,
bool *  replaced 
)

◆ drm_property_replace_global_blob()

int drm_property_replace_global_blob ( struct drm_device *  dev,
struct drm_property_blob **  replace,
size_t  length,
const void *  data,
struct drm_mode_object *  obj_holds_id,
struct drm_property *  prop_holds_id 
)