aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpi3mr/mpi
Commit message (Collapse)AuthorAgeFilesLines
* scsi: mpi3mr: Update MPI Headers to revision 35Ranjan Kumar2025-02-255-2/+62
| | | | | | | | | | Update MPI Headers to revision 35 Co-developed-by: Prayas Patel <[email protected]> Signed-off-by: Prayas Patel <[email protected]> Signed-off-by: Ranjan Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Support for Segmented Hardware Trace bufferRanjan Kumar2025-02-041-0/+1
| | | | | | | | | | | | | | | | | Allocate segmented trace buffer if firmware advertises the capability in IOCfacts. Upon driver load, read the trace buffer size from driver page 1, calculate the required segments for trace buffer, and allocate segmented buffers. Each segment is 4096 bytes in size. While posting driver diagnostic buffer to firmware, advertise that trace buffer is segmented. Signed-off-by: Sumit Saxena <[email protected]> Signed-off-by: Ranjan Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Update MPI Headers to revision 34Ranjan Kumar2024-09-134-7/+52
| | | | | | | | | Update MPI Headers to revision 34. Signed-off-by: Prayas Patel <[email protected]> Signed-off-by: Ranjan Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Use firmware-provided timestamp update intervalRanjan Kumar2024-09-131-0/+1
| | | | | | | | | | | Make driver use the timestamp update interval value provided by firmware in the driver page 1. If firmware fails to provide non-zero value, then the driver will fall back to the driver defined macro. Signed-off-by: Prayas Patel <[email protected]> Signed-off-by: Ranjan Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: struct mpi3_sas_io_unit_page1: Replace 1-element array with ↵Kees Cook2024-08-031-4/+1
| | | | | | | | | | | | | | | flexible array Replace the deprecated[1] use of a 1-element array in struct mpi3_sas_io_unit_page1 with a modern flexible array. No binary differences are present after this conversion. Link: https://github.com/KSPP/linux/issues/79 [1] Signed-off-by: Kees Cook <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: struct mpi3_sas_io_unit_page0: Replace 1-element array with ↵Kees Cook2024-08-031-4/+1
| | | | | | | | | | | | | | | flexible array Replace the deprecated[1] use of a 1-element array in struct mpi3_sas_io_unit_page0 with a modern flexible array. No binary differences are present after this conversion. Link: https://github.com/KSPP/linux/issues/79 [1] Signed-off-by: Kees Cook <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: struct mpi3_event_data_pcie_topology_change_list: Replace ↵Kees Cook2024-08-031-4/+1
| | | | | | | | | | | | | | | | | | | | | | 1-element array with flexible array Replace the deprecated[1] use of a 1-element array in struct mpi3_event_data_pcie_topology_change_list with a modern flexible array. Additionally add __counted_by annotation since port_entry is only ever accessed in loops controlled by num_entries. For example: for (i = 0; i < event_data->num_entries; i++) { handle = le16_to_cpu(event_data->port_entry[i].attached_dev_handle); No binary differences are present after this conversion. Link: https://github.com/KSPP/linux/issues/79 [1] Signed-off-by: Kees Cook <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: struct mpi3_event_data_sas_topology_change_list: Replace ↵Kees Cook2024-08-031-4/+1
| | | | | | | | | | | | | | | | | | | | | | 1-element array with flexible array Replace the deprecated[1] use of a 1-element array in struct mpi3_event_data_sas_topology_change_list with a modern flexible array. Additionally add __counted_by annotation since phy_entry is only ever accessed in loops controlled by num_entries. For example: for (i = 0; i < event_data->num_entries; i++) { ... handle = le16_to_cpu(event_data->phy_entry[i].attached_dev_handle); No binary differences are present after this conversion. Link: https://github.com/KSPP/linux/issues/79 [1] Signed-off-by: Kees Cook <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: HDB allocation and posting for hardware and firmware buffersRanjan Kumar2024-06-271-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | To be able to debug controller problems it is beneficial to allocate and configure system/host memory buffers which can be used to capture hardware and firmware diagnostic information. Add functions required to allocate and post firmware and hardware diagnostic buffers to the controller and to set up automatic diagnostic capture triggers. Captures will be triggered under the following circumstances: 1. Firmware is in FAULT state. 2. Admin commands time out. 3. Controller reset caused due to I/O timeout Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Co-developed-by: Sathya Prakash <[email protected]> Signed-off-by: Sathya Prakash <[email protected]> Signed-off-by: Ranjan Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Update MPI Headers to revision 31Ranjan Kumar2024-03-254-23/+20
| | | | | | | | | Update MPI Headers to revision 31. Signed-off-by: Ranjan Kumar <[email protected]> Signed-off-by: Sathya Prakash <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Set the WriteSame Divert Capability in the IOCInit MPI RequestRanjan Kumar2024-03-251-1/+1
| | | | | | | | | | | Modify driver to set the Write Same Divert Capability bit in the IOCInit message for the firmware to know that the driver is capable of diverting certain Write Same commands as defined by the MPI specification. Signed-off-by: Ranjan Kumar <[email protected]> Signed-off-by: Sathya Prakash <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Add support for status reply descriptorSumit Saxena2023-11-251-0/+1
| | | | | | | | Inform controller firmware that driver supports status reply descriptor. Signed-off-by: Sumit Saxena <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Update MPI Headers to version 3.00.28Ranjan Kumar2023-08-083-2/+3
| | | | | | | | Updated MPI Headers to version 3.00.28. Signed-off-by: Ranjan Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Update copyright yearRanjan Kumar2023-03-177-7/+7
| | | | | | | | | Update copyright year from 2022 to 2023. Signed-off-by: Ranjan Kumar <[email protected]> Signed-off-by: Sreekanth Reddy <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Update MPI Headers to revision 27Ranjan Kumar2023-03-174-14/+123
| | | | | | | | | Update MPI Headers to revision 27. Signed-off-by: Ranjan Kumar <[email protected]> Signed-off-by: Sreekanth Reddy <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Update mpi3 header filesSreekanth Reddy2022-09-257-52/+165
| | | | | | | | Update the mpi3 header files. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sreekanth Reddy <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Move data structures/definitions from MPI headers to uapi headerSumit Saxena2022-05-023-100/+1
| | | | | | | | | | | This patch moves the data structures/definitions which are used by userspace applications from MPI headers to uapi/scsi/scsi_bsg_mpi3mr.h Link: https://lore.kernel.org/r/[email protected] Reported by: Stephen Rothwell <[email protected]> Reviewed-by: Himanshu Madhani <[email protected]> Signed-off-by: Sumit Saxena <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Add support for driver commandsSumit Saxena2022-05-021-10/+0
| | | | | | | | | | | | | There are certain bsg commands which need to be completed by the driver without involving firmware. These requests are termed driver commands. Add support for these. Link: https://lore.kernel.org/r/[email protected] Reported by: Stephen Rothwell <[email protected]> Reported-by: kernel test robot <[email protected]> Reviewed-by: Himanshu Madhani <[email protected]> Signed-off-by: Sumit Saxena <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Update MPI3 headersSreekanth Reddy2022-02-115-67/+115
| | | | | | | | Update MPI3 headers. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sreekanth Reddy <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Update MPI3 headers - part2Sreekanth Reddy2021-12-236-45/+246
| | | | | | | | Continued updating MPI3 headers. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sreekanth Reddy <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Update MPI3 headers - part1Sreekanth Reddy2021-12-231-105/+498
| | | | | | | | Update MPI3 headers. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sreekanth Reddy <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Add support for device add/remove event handlingKashyap Desai2021-06-022-0/+1913
| | | | | | | | | | | | | | | | | | | | | | Firmware can report various MPI Events. Enable support for processing the following events related to device addition/removal to the driver: - MPI3_EVENT_DEVICE_ADDED - MPI3_EVENT_DEVICE_INFO_CHANGED - MPI3_EVENT_DEVICE_STATUS_CHANGE - MPI3_EVENT_ENCL_DEVICE_STATUS_CHANGE - MPI3_EVENT_SAS_TOPOLOGY_CHANGE_LIST - MPI3_EVENT_SAS_DISCOVERY - MPI3_EVENT_SAS_DEVICE_DISCOVERY_ERROR Link: https://lore.kernel.org/r/[email protected] Cc: [email protected] Reported-by: kernel test robot <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Reviewed-by: Himanshu Madhani <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Signed-off-by: Kashyap Desai <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
* scsi: mpi3mr: Add mpi30 Rev-R headers and KconfigKashyap Desai2021-06-024-0/+1842
This adds the Kconfig and mpi30 headers. Link: https://lore.kernel.org/r/[email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Reviewed-by: Himanshu Madhani <[email protected]> Signed-off-by: Kashyap Desai <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>