XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
drm_master Struct Reference

#include <drm_auth.h>

Collaboration diagram for drm_master:
Collaboration graph
[legend]

Public Attributes

struct kref refcount
 
struct drm_device * dev
 
char * unique
 
int unique_len
 
struct idr magic_map
 
void * driver_priv
 
struct drm_master * lessor
 
int lessee_id
 
struct list_head lessee_list
 
struct list_head lessees
 
struct idr leases
 
struct idr lessee_idr
 

Detailed Description

struct drm_master - drm master structure

@refcount: Refcount for this master object. @dev: Link back to the DRM device @driver_priv: Pointer to driver-private information.

Note that master structures are only relevant for the legacy/primary device nodes, hence there can only be one per device, not one per drm_minor.

Member Data Documentation

◆ dev

struct drm_device* drm_master::dev

◆ driver_priv

void* drm_master::driver_priv

◆ leases

struct idr drm_master::leases

@leases:

Objects leased to this drm_master. Protected by &drm_device.mode_config's &drm_mode_config.idr_mutex.

Objects are leased all together in drm_lease_create(), and are removed all together when the lease is revoked.

◆ lessee_id

int drm_master::lessee_id

@lessee_id:

ID for lessees. Owners (i.e. @lessor is NULL) always have ID 0. Protected by &drm_device.mode_config's &drm_mode_config.idr_mutex.

◆ lessee_idr

struct idr drm_master::lessee_idr

@lessee_idr:

All lessees under this owner (only used where @lessor is NULL). Protected by &drm_device.mode_config's &drm_mode_config.idr_mutex.

◆ lessee_list

struct list_head drm_master::lessee_list

@lessee_list:

List entry of lessees of @lessor, where they are linked to @lessees. Not used for owners. Protected by &drm_device.mode_config's &drm_mode_config.idr_mutex.

◆ lessees

struct list_head drm_master::lessees

@lessees:

List of drm_masters leasing from this one. Protected by &drm_device.mode_config's &drm_mode_config.idr_mutex.

This list is empty if no leases have been granted, or if all lessees have been destroyed. Since lessors are referenced by all their lessees, this master cannot be destroyed unless the list is empty.

◆ lessor

struct drm_master* drm_master::lessor

@lessor:

Lease grantor, only set if this &struct drm_master represents a lessee holding a lease of objects from @lessor. Full owners of the device have this set to NULL.

The lessor does not change once it's set in drm_lease_create(), and each lessee holds a reference to its lessor that it releases upon being destroyed in drm_lease_destroy().

See also the :ref:section on display resource leasing <drm_leasing>.

◆ magic_map

struct idr drm_master::magic_map

@magic_map: Map of used authentication tokens. Protected by &drm_device.master_mutex.

◆ refcount

struct kref drm_master::refcount

◆ unique

char* drm_master::unique

@unique: Unique identifier: e.g. busid. Protected by &drm_device.master_mutex.

◆ unique_len

int drm_master::unique_len

@unique_len: Length of unique field. Protected by &drm_device.master_mutex.


The documentation for this struct was generated from the following file: