-
Notifications
You must be signed in to change notification settings - Fork 57
Description
I've sorted through all the different functions that the DRM API exposes and filtered out all the deprecated functionality that the kernel no longer recommends using. Any function that was mapped to drm_noop
, drm_invalid_op
, or one of the drm_legacy_*
functions in the Linux 4.9 kernel have been removed from the crate. The drm-sys
crate will continue to include bindings to them, but unless someone wants me to specifically support that deprecated functionality, they will be kept out of drm-rs
. This should keep the crate lean and clean.
I'd also like to move low-level ffi-based logic into the ffi
module. It's currently scattered around the crate.
This crate should also support #[no_std]
if possible. I don't see any dependencies that this requires.
Finally, remove all memory allocation and management. Let the user decide how to organize their program's memory.
Basic
- get_unique - Returns the bus ID of the device
- get_client - Returns information about the client
- get_cap - Returns the capabilities of the device
- set_client_cap - Informs the device to expose a specific capability
- set_version - Sets the requested interface version
- version - Gets the current interface version
- get_magic - Returns the client's authentication token
- auth_magic - Authenticates a client with their authentication token
- set_master - Acquires the DRM master lock
- drop_master - Releases the DRM master lock
- irq_from_busid - Gets the IRQ from the bus id
- wait_vblank - Enables the vblank interrupt and sleeps until it goes off
Modesetting
- getresources - Returns a list of all modesetting resources
- getplaneresources - Returns a list of all plane resources
- getconnector
- getencoder
- getcrtc
- setcrtc - Modifies the state of a CRTC
- getfb
- addfb
- addfb2
- rmfb
- dirtyfb
- getplane
- setplane - Modifies the state of a plane
- getgamma
- setgamma - Sets a gamma ramp on a CRTC
DumbBuffers
- create_dumb
- map_dumb
- destroy_dumb
Cursors
- cursor
- cursor2
Properties
- getproperty
- setproperty
- obj_getproperties
- obj_setproperty
- getpropblob
- createpropblob
- destroypropblob
Atomic
- page_flip
- atomic
GEM Buffers
- gem_open
- gem_close
- gem_flink - Pass a GEM buffer to another client
PRIME handles
- prime_fd_to_handle - Converts a dma-buf file descriptor into a buffer handle
- prime_handle_to_fd - Converts a buffer handle into a dma-buf file descriptor