Logo

The Linux Kernel

6.15.0-rc5

Quick search

Contents

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
  • Subsystems
    • Core subsystems
    • Human interfaces
      • Input Documentation
      • Human Interface Devices (HID)
      • Sound Subsystem Documentation
      • GPU Driver Developer’s Guide
      • Frame Buffer
      • LEDs
    • Networking interfaces
    • Storage interfaces
    • Other subsystems
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations

This Page

  • Show Source

Misc DRM driver uAPI- and feature implementation guidelines¶

  • Asynchronous VM_BIND
    • Nomenclature:
    • Synchronous / Asynchronous VM_BIND operation
      • Synchronous VM_BIND
      • Asynchronous VM_BIND
    • Multi-operation VM_BIND IOCTL error handling and interrupts
    • Example: The Xe VM_BIND uAPI
  • VM_BIND locking
    • The DRM GPUVM set of helpers
    • Nomenclature
    • Locks and locking order
    • Protection and lifetime of gpu_vm_bos and gpu_vmas
    • Revalidation and eviction of local objects
      • Revalidation
      • Eviction
    • Locking with external buffer objects
    • Accessing the gpu_vm’s lists without the dma_resv lock held
    • userptr gpu_vmas
      • Efficient userptr gpu_vma exec_function iteration
    • Locking at bind and unbind time
    • Locking for recoverable page-fault page-table updates
©The kernel development community. | Powered by Sphinx 5.3.0 & Alabaster 0.7.16 | Page source