Skip to content

Non-deprecated coverage #25

@Slabity

Description

@Slabity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions