xref: /linux/Documentation/scsi/leapraid.rst (revision 570f7e331f5febb30f1384817463c7e42b65ca7d)
1.. SPDX-License-Identifier: GPL-2.0
2
3=========================
4LeapRAID Driver for Linux
5=========================
6
7Introduction
8============
9
10LeapRAID is a storage RAID controller driver developed by LeapIO Tech Inc. The
11controller targets enterprise storage, cloud infrastructure, high performance
12computing (HPC), and AI workloads.
13
14It provides high-performance storage virtualization over PCI Express Gen4
15and supports both SAS and SATA HDDs and SSDs. It offers both Host Bus Adapter
16and RAID modes to meet diverse deployment requirements.
17
18Supported devices
19=================
20
21- LeapHBA-8200C
22
23Features
24========
25- PCIe Gen4 x8 host interface
26- Support for SAS and SATA devices
27- RAID levels: 0, 1, 10, 5, 50, 6, 60
28- Advanced error handling and end-to-end data integrity
29
30LeapRAID specific host attributes
31=================================
32
33::
34
35   /sys/class/scsi_host/host*/fw_queue_depth
36   /sys/class/scsi_host/host*/host_sas_address
37   /sys/class/scsi_host/host*/board_name
38
39The host "fw_queue_depth" read-only attribute shows the firmware queue
40depth of the host.
41
42The host "host_sas_address" read-only attribute shows the SAS address
43of the host.
44
45The host "board_name" read-only attribute shows the board name reported
46by manufacturing page 0.
47
48LeapRAID specific disk attributes
49=================================
50
51::
52
53   /sys/class/scsi_disk/host:bus:target:lun/device/sas_device_handle
54   /sys/class/scsi_disk/host:bus:target:lun/device/ncq_cmd_prio_enable
55
56The read-only attribute "sas_device_handle" represents the disk's device
57handle, which is a unique identifier maintained by the firmware.
58
59This attribute "ncq_cmd_prio_enable" controls NCQ command priority. A value
60of 0 disables NCQ priority handling for RT-priority I/O. Writing 1 enables
61NCQ priority handling when the device reports support for the feature through
62VPD page 0x89. Unsupported devices keep the effective state at 0.
63
64LeapRAID module parameters
65==========================
66
67The following module parameters can be configured at driver load time to
68control driver behavior and tuning options.
69
701. open_pcie_trace
71------------------
72
73This parameter controls whether PCIe transaction tracing is enabled in the
74driver. When set to 1, PCIe trace collection is enabled by default, allowing
75detailed tracing of PCIe operations for debugging and performance analysis.
76Setting it to 0 disables the trace functionality to reduce overhead in
77production environments.
78
792. enable_mp
80------------
81
82This parameter enables or disables multipath support for target devices.
83When set to 1, multipath functionality is enabled (default), allowing
84multiple paths to be established. Setting it to 0 disables multipath
85handling.
86
873. max_msix_vectors
88-------------------
89
90This parameter sets the upper limit on the number of MSI-X interrupt
91vectors that the driver will request during initialization. The default
92value of -1 allows the driver to use all available vectors as provided
93by the device. Setting a positive integer restricts the number of vectors.
94
954. poll_queues
96--------------
97
98This parameter specifies the number of I/O queues to be used when operating
99in io_uring poll mode. The default value is 0.
100
101File Location
102=============
103The driver source is located at:
104
105``drivers/scsi/leapraid/``
106
107.. note::
108
109   This document is intended for kernel developers and system
110   integrators who need to build, test, and deploy the LeapRAID driver.
111