aes-stream-drivers

Contents

  • Tutorials
    • Your First Data Transfer
      • Prerequisites
      • Step 1 — Detect the Hardware
      • Step 2 — Build the Driver and Utilities
      • Step 3 — Load the Driver
      • Step 4 — Inspect the /proc Interface
      • Step 5 — Run the Loopback Test
      • Step 6 — Unload the Driver
      • Next Steps
    • Your First GPUDirect Transfer
      • Prerequisites
      • Step 1 — Disable the Display Manager
      • Step 2 — Install NVIDIA Open Kernel Modules
      • Step 3 — Configure GRUB
      • Step 4 — Build and Load All Drivers
      • Step 5 — Verify GPUDirect Support
      • Step 6 — Run rdmaTest
      • Next Steps
  • How-to Guides
    • Build and Load the Driver
      • Prerequisites
      • Build the Driver
      • Load the Driver
      • Configure Persistent Loading (modprobe.d)
      • Unload the Driver
      • Parameter Reference
    • Cross-Compile for RCE (ARM/Zynq)
      • Prerequisites
      • Build at SLAC (Shortcut)
      • Build Outside SLAC
        • ARM/Zynq Target
        • x86 Buildroot Target
      • Output Location
    • Integrate into a Yocto Project
      • Prerequisites
      • Step 1 — Create or Identify Your Layer
      • Step 2 — Copy the Recipe
      • Step 3 — Enable the Module in Your Build
      • Step 4 — Set Buffer Parameters
      • Step 5 — Add the Device Tree Node
      • Step 6 — Build
      • aximemorymap Variant
    • Install via DKMS
      • Prerequisites
      • Step 1 — Copy Sources to the DKMS Tree
      • Step 2 — Set the Package Version
      • Step 3 — Add, Build, and Install
      • Verify
      • GPU Variant
    • Set Up GPUDirect RDMA
      • Prerequisites
      • Step 1 — Disable Display Manager Services
      • Step 2 — Remove Existing NVIDIA Drivers
      • Step 3 — Install NVIDIA Open Kernel Modules
      • Step 4 — Configure GRUB
      • Step 5 — Build and Load Both Drivers
      • Verify
    • Route Multiple DMA Channels
      • Overview
      • Subscribe to a Single Channel
      • Subscribe to Multiple Channels
      • Send to a Specific Channel
      • Receive and Return Buffers
      • Multiple Clients on One Device
    • Enable GitHub Pages (One-Time Setup)
      • Prerequisites
      • Steps
      • Verification
  • Reference
    • DMA Driver API
      • DMA_VERSION
      • DMA_ERR_FIFO
      • DMA_ERR_LEN
      • DMA_ERR_MAX
      • DMA_ERR_BUS
      • DMA_Get_Buff_Count
      • DMA_Get_Buff_Size
      • DMA_Set_Debug
      • DMA_Set_Mask
      • DMA_Ret_Index
      • DMA_Get_Index
      • DMA_Read_Ready
      • DMA_Set_MaskBytes
      • DMA_Get_Version
      • DMA_Write_Register
      • DMA_Read_Register
      • DMA_Get_RxBuff_Count
      • DMA_Get_TxBuff_Count
      • DMA_Get_TxBuffinUser_Count
      • DMA_Get_TxBuffinHW_Count
      • DMA_Get_TxBuffinPreHWQ_Count
      • DMA_Get_TxBuffinSWQ_Count
      • DMA_Get_TxBuffMiss_Count
      • DMA_Get_RxBuffinUser_Count
      • DMA_Get_RxBuffinHW_Count
      • DMA_Get_RxBuffinPreHWQ_Count
      • DMA_Get_RxBuffinSWQ_Count
      • DMA_Get_RxBuffMiss_Count
      • DMA_Get_GITV
      • DMA_MASK_SIZE
      • dmaWrite()
      • dmaWriteIndex()
      • dmaWriteVector()
      • dmaWriteIndexVector()
      • dmaRead()
      • dmaReadIndex()
      • dmaReadBulkIndex()
      • dmaRetIndex()
      • dmaRetIndexes()
      • dmaGetIndex()
      • dmaReadReady()
      • dmaGetRxBuffCount()
      • dmaGetRxBuffinUserCount()
      • dmaGetRxBuffinHwCount()
      • dmaGetRxBuffinPreHwQCount()
      • dmaGetRxBuffinSwQCount()
      • dmaGetRxBuffMissCount()
      • dmaGetTxBuffCount()
      • dmaGetTxBuffinUserCount()
      • dmaGetTxBuffinHwCount()
      • dmaGetTxBuffinPreHwQCount()
      • dmaGetTxBuffinSwQCount()
      • dmaGetTxBuffMissCount()
      • dmaGetBuffSize()
      • dmaGetBuffCount()
      • dmaMapDma()
      • dmaUnMapDma()
      • dmaSetDebug()
      • dmaAssignHandler()
      • dmaSetMask()
      • dmaInitMaskBytes()
      • dmaAddMaskBytes()
      • dmaSetMaskBytes()
      • dmaCheckVersion()
      • dmaGetApiVersion()
      • dmaWriteRegister()
      • dmaReadRegister()
      • dmaMapRegister()
      • dmaUnMapRegister()
      • DmaWriteData
        • data
        • dest
        • flags
        • index
        • size
        • is32
        • pad
      • DmaReadData
        • data
        • dest
        • flags
        • index
        • error
        • size
        • is32
        • ret
      • DmaRegisterData
        • address
        • data
    • AXIS Driver API
      • AXIS_Read_Ack
      • AXIS_Write_ReqMissed
      • axisSetFlags()
      • axisGetFuser()
      • axisGetLuser()
      • axisGetCont()
      • axisReadAck()
      • axisWriteReqMissed()
    • Ioctl Command Code Reference
      • DmaDriver.h Commands
      • AxisDriver.h Commands
      • AxiVersion.h Commands
      • GpuAsync.h Commands
    • Module Parameters — datadev
    • Device Nodes
      • /dev/ — Character Devices
      • /proc/ — Diagnostic Interface
      • Multi-Device Systems
    • User Space DMA API
  • Explanation
    • Driver Architecture
      • The Hardware Abstraction Vtable
      • Component Relationships
      • PCIe BAR0 Memory Map
      • PCI Device Identification
      • Further Reading
    • DMA Buffer Modes
      • The Three Buffer Modes
      • Why cfgMode=4 Is Rejected for data_dev
      • Buffer Pool Pre-Allocation
      • Buffer State Machine
      • Zero-Copy Data Path
      • Further Reading
    • AXI Stream Protocol
      • Frame Boundaries and TLAST
      • The Flags Field: fuser, luser, and cont
      • Channel Routing via TDEST
      • AxisG2 Engine Overview
      • Further Reading
    • Kernel Compatibility
      • How the Guards Work
      • Compatibility Matrix
      • RHEL Backport Detection
      • Minimum and Maximum Tested Kernels
      • Further Reading
aes-stream-drivers
  • Search


© Copyright 2026, SLAC National Accelerator Laboratory.

Built with Sphinx using a theme provided by Read the Docs.