xref: /linux/Documentation/scsi/leapraid.rst (revision 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d)
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
26- PCIe Gen4 x8 host interface
27- Support for SAS and SATA devices
28- RAID levels: 0, 1, 10, 5, 50, 6, 60
29- Advanced error handling and end-to-end data integrity
30
31LeapRAID specific host attributes
32=================================
33
34::
35
36   /sys/class/scsi_host/host*/fw_queue_depth
37   /sys/class/scsi_host/host*/host_sas_address
38   /sys/class/scsi_host/host*/board_name
39
40The host "fw_queue_depth" read-only attribute shows the firmware queue
41depth of the host.
42
43The host "host_sas_address" read-only attribute shows the SAS address
44of the host.
45
46The host "board_name" read-only attribute shows the board name reported
47by manufacturing page 0.
48
49LeapRAID specific disk attributes
50=================================
51
52::
53
54   /sys/block/<disk>/device/sas_device_handle
55   /sys/block/<disk>/device/sas_ncq_prio_supported
56   /sys/block/<disk>/device/sas_ncq_prio_enable
57
58The read-only attribute "sas_device_handle" represents the disk's device
59handle, which is a unique identifier maintained by the firmware.
60
61The read-only attribute "sas_ncq_prio_supported" reports whether a SATA
62device supports NCQ command priority.
63
64The attribute "sas_ncq_prio_enable" controls NCQ command priority. A value
65of 0 disables NCQ priority handling for RT-priority I/O. Writing 1 enables
66NCQ priority handling when the device reports support for the feature through
67VPD page 0x89. Writes to unsupported devices fail with an error.
68
69LeapRAID module parameters
70==========================
71
72The following module parameters can be configured at driver load time to
73control driver behavior and tuning options.
74
751. open_pcie_trace
76------------------
77
78This parameter controls whether PCIe transaction tracing is enabled in the
79driver. When set to 1, PCIe trace collection is enabled by default, allowing
80detailed tracing of PCIe operations for debugging and performance analysis.
81Setting it to 0 disables the trace functionality to reduce overhead in
82production environments.
83
842. enable_mp
85------------
86
87This parameter enables or disables multipath support for target devices.
88When set to 1, multipath functionality is enabled (default), allowing
89multiple paths to be established. Setting it to 0 disables multipath
90handling.
91
923. max_msix_vectors
93-------------------
94
95This parameter sets the upper limit on the number of MSI-X interrupt
96vectors that the driver will request during initialization. The default
97value of -1 allows the driver to use all available vectors as provided
98by the device. Setting a positive integer restricts the number of vectors.
99
1004. poll_queues
101--------------
102
103This parameter specifies the number of I/O queues to be used when operating
104in io_uring poll mode. The default value is 0.
105
106File Location
107=============
108
109The driver source is located at:
110
111``drivers/scsi/leapraid/``
112
113.. note::
114
115   This document is intended for kernel developers and system
116   integrators who need to build, test, and deploy the LeapRAID driver.
117