| .. SPDX-License-Identifier: GPL-2.0 |
| |
| ========================= |
| LeapRAID Driver for Linux |
| ========================= |
| |
| Introduction |
| ============ |
| |
| LeapRAID is a storage RAID controller driver developed by LeapIO Tech Inc. The |
| controller targets enterprise storage, cloud infrastructure, high performance |
| computing (HPC), and AI workloads. |
| |
| It provides high-performance storage virtualization over PCI Express Gen4 |
| and supports both SAS and SATA HDDs and SSDs. It offers both Host Bus Adapter |
| and RAID modes to meet diverse deployment requirements. |
| |
| Supported devices |
| ================= |
| |
| - LeapHBA-8200C |
| |
| Features |
| ======== |
| |
| - PCIe Gen4 x8 host interface |
| - Support for SAS and SATA devices |
| - RAID levels: 0, 1, 10, 5, 50, 6, 60 |
| - Advanced error handling and end-to-end data integrity |
| |
| LeapRAID specific host attributes |
| ================================= |
| |
| :: |
| |
| /sys/class/scsi_host/host*/fw_queue_depth |
| /sys/class/scsi_host/host*/host_sas_address |
| /sys/class/scsi_host/host*/board_name |
| |
| The host "fw_queue_depth" read-only attribute shows the firmware queue |
| depth of the host. |
| |
| The host "host_sas_address" read-only attribute shows the SAS address |
| of the host. |
| |
| The host "board_name" read-only attribute shows the board name reported |
| by manufacturing page 0. |
| |
| LeapRAID specific disk attributes |
| ================================= |
| |
| :: |
| |
| /sys/block/<disk>/device/sas_device_handle |
| /sys/block/<disk>/device/sas_ncq_prio_supported |
| /sys/block/<disk>/device/sas_ncq_prio_enable |
| |
| The read-only attribute "sas_device_handle" represents the disk's device |
| handle, which is a unique identifier maintained by the firmware. |
| |
| The read-only attribute "sas_ncq_prio_supported" reports whether a SATA |
| device supports NCQ command priority. |
| |
| The attribute "sas_ncq_prio_enable" controls NCQ command priority. A value |
| of 0 disables NCQ priority handling for RT-priority I/O. Writing 1 enables |
| NCQ priority handling when the device reports support for the feature through |
| VPD page 0x89. Writes to unsupported devices fail with an error. |
| |
| LeapRAID module parameters |
| ========================== |
| |
| The following module parameters can be configured at driver load time to |
| control driver behavior and tuning options. |
| |
| 1. open_pcie_trace |
| ------------------ |
| |
| This parameter controls whether PCIe transaction tracing is enabled in the |
| driver. When set to 1, PCIe trace collection is enabled by default, allowing |
| detailed tracing of PCIe operations for debugging and performance analysis. |
| Setting it to 0 disables the trace functionality to reduce overhead in |
| production environments. |
| |
| 2. enable_mp |
| ------------ |
| |
| This parameter enables or disables multipath support for target devices. |
| When set to 1, multipath functionality is enabled (default), allowing |
| multiple paths to be established. Setting it to 0 disables multipath |
| handling. |
| |
| 3. max_msix_vectors |
| ------------------- |
| |
| This parameter sets the upper limit on the number of MSI-X interrupt |
| vectors that the driver will request during initialization. The default |
| value of -1 allows the driver to use all available vectors as provided |
| by the device. Setting a positive integer restricts the number of vectors. |
| |
| 4. poll_queues |
| -------------- |
| |
| This parameter specifies the number of I/O queues to be used when operating |
| in io_uring poll mode. The default value is 0. |
| |
| File Location |
| ============= |
| |
| The driver source is located at: |
| |
| ``drivers/scsi/leapraid/`` |
| |
| .. note:: |
| |
| This document is intended for kernel developers and system |
| integrators who need to build, test, and deploy the LeapRAID driver. |