Ranjan Kumar
b928757432
scsi: mpi3mr: Update MPI Headers to revision 35
...
Update MPI Headers to revision 35
Co-developed-by: Prayas Patel <prayas.patel@broadcom.com >
Signed-off-by: Prayas Patel <prayas.patel@broadcom.com >
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com >
Link: https://lore.kernel.org/r/20250220142528.20837-2-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2025-02-24 19:57:44 -05:00
Ranjan Kumar
339a7b32a3
scsi: mpi3mr: Support for Segmented Hardware Trace buffer
...
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 <sumit.saxena@broadcom.com >
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com >
Link: https://lore.kernel.org/r/20250129100850.25430-3-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2025-02-03 21:46:40 -05:00
Ranjan Kumar
6e4c825f26
scsi: mpi3mr: Update MPI Headers to revision 34
...
Update MPI Headers to revision 34.
Signed-off-by: Prayas Patel <prayas.patel@broadcom.com >
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com >
Link: https://lore.kernel.org/r/20240905102753.105310-4-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2024-09-12 21:10:13 -04:00
Ranjan Kumar
fc1ddda330
scsi: mpi3mr: Use firmware-provided timestamp update interval
...
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 <prayas.patel@broadcom.com >
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com >
Link: https://lore.kernel.org/r/20240905102753.105310-3-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2024-09-12 21:10:13 -04:00
Kees Cook
a62193abae
scsi: mpi3mr: struct mpi3_sas_io_unit_page1: Replace 1-element array with 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 <kees@kernel.org >
Link: https://lore.kernel.org/r/20240711155637.3757036-4-kees@kernel.org
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2024-08-02 21:22:41 -04:00
Kees Cook
41bb96296f
scsi: mpi3mr: struct mpi3_sas_io_unit_page0: Replace 1-element array with 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 <kees@kernel.org >
Link: https://lore.kernel.org/r/20240711155637.3757036-3-kees@kernel.org
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2024-08-02 21:22:41 -04:00
Kees Cook
0e11f97bfd
scsi: mpi3mr: struct mpi3_event_data_pcie_topology_change_list: Replace 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 <kees@kernel.org >
Link: https://lore.kernel.org/r/20240711155637.3757036-2-kees@kernel.org
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2024-08-02 21:22:41 -04:00
Kees Cook
ac5b7505de
scsi: mpi3mr: struct mpi3_event_data_sas_topology_change_list: Replace 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 <kees@kernel.org >
Link: https://lore.kernel.org/r/20240711155637.3757036-1-kees@kernel.org
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2024-08-02 21:22:41 -04:00
Ranjan Kumar
fc44449411
scsi: mpi3mr: HDB allocation and posting for hardware and firmware buffers
...
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 <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202405151758.7xrJz6rp-lkp@intel.com/
Co-developed-by: Sathya Prakash <sathya.prakash@broadcom.com >
Signed-off-by: Sathya Prakash <sathya.prakash@broadcom.com >
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com >
Link: https://lore.kernel.org/r/20240626102646.14298-2-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2024-06-26 23:30:09 -04:00
Ranjan Kumar
57a80be5ec
scsi: mpi3mr: Update MPI Headers to revision 31
...
Update MPI Headers to revision 31.
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com >
Signed-off-by: Sathya Prakash <sathya.prakash@broadcom.com >
Link: https://lore.kernel.org/r/20240313100746.128951-7-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2024-03-25 18:14:33 -04:00
Ranjan Kumar
e8a5a3c3eb
scsi: mpi3mr: Set the WriteSame Divert Capability in the IOCInit MPI Request
...
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 <ranjan.kumar@broadcom.com >
Signed-off-by: Sathya Prakash <sathya.prakash@broadcom.com >
Link: https://lore.kernel.org/r/20240313100746.128951-5-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2024-03-25 18:14:32 -04:00
Sumit Saxena
1193a89d2b
scsi: mpi3mr: Add support for status reply descriptor
...
Inform controller firmware that driver supports status reply descriptor.
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com >
Link: https://lore.kernel.org/r/20231123160132.4155-5-sumit.saxena@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2023-11-24 20:53:05 -05:00
Ranjan Kumar
6f81b1cfdf
scsi: mpi3mr: Update MPI Headers to version 3.00.28
...
Updated MPI Headers to version 3.00.28.
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com >
Link: https://lore.kernel.org/r/20230804104248.118924-3-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2023-08-07 21:41:48 -04:00
Ranjan Kumar
e74f2fbd8b
scsi: mpi3mr: Update copyright year
...
Update copyright year from 2022 to 2023.
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com >
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com >
Link: https://lore.kernel.org/r/20230316110209.60145-8-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2023-03-16 23:54:29 -04:00
Ranjan Kumar
e5f596bc25
scsi: mpi3mr: Update MPI Headers to revision 27
...
Update MPI Headers to revision 27.
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com >
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com >
Link: https://lore.kernel.org/r/20230316110209.60145-6-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2023-03-16 23:54:29 -04:00
Sreekanth Reddy
ee6f2d6bb2
scsi: mpi3mr: Update mpi3 header files
...
Update the mpi3 header files.
Link: https://lore.kernel.org/r/20220912135742.11764-2-sreekanth.reddy@broadcom.com
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2022-09-25 13:49:51 -04:00
Sumit Saxena
f3de4706c1
scsi: mpi3mr: Move data structures/definitions from MPI headers to uapi header
...
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/20220429211641.642010-4-sumit.saxena@broadcom.com
Reported by: Stephen Rothwell <sfr@canb.auug.org.au >
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2022-05-02 17:02:41 -04:00
Sumit Saxena
f5e6d5a343
scsi: mpi3mr: Add support for driver commands
...
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/20220429211641.642010-3-sumit.saxena@broadcom.com
Reported by: Stephen Rothwell <sfr@canb.auug.org.au >
Reported-by: kernel test robot <lkp@intel.com >
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2022-05-02 17:02:41 -04:00
Sreekanth Reddy
04b27e538d
scsi: mpi3mr: Update MPI3 headers
...
Update MPI3 headers.
Link: https://lore.kernel.org/r/20220210095817.22828-4-sreekanth.reddy@broadcom.com
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2022-02-11 17:40:03 -05:00
Sreekanth Reddy
ec5ebd2c14
scsi: mpi3mr: Update MPI3 headers - part2
...
Continued updating MPI3 headers.
Link: https://lore.kernel.org/r/20211220141159.16117-6-sreekanth.reddy@broadcom.com
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-12-23 00:04:22 -05:00
Sreekanth Reddy
d00ff7c311
scsi: mpi3mr: Update MPI3 headers - part1
...
Update MPI3 headers.
Link: https://lore.kernel.org/r/20211220141159.16117-5-sreekanth.reddy@broadcom.com
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-12-23 00:04:22 -05:00
Kashyap Desai
13ef29ea4a
scsi: mpi3mr: Add support for device add/remove event handling
...
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/20210520152545.2710479-7-kashyap.desai@broadcom.com
Cc: sathya.prakash@broadcom.com
Reported-by: kernel test robot <lkp@intel.com >
Reviewed-by: Tomas Henzl <thenzl@redhat.com >
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Reviewed-by: Hannes Reinecke <hare@suse.de >
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-06-02 00:56:16 -04:00
Kashyap Desai
c4f7ac6461
scsi: mpi3mr: Add mpi30 Rev-R headers and Kconfig
...
This adds the Kconfig and mpi30 headers.
Link: https://lore.kernel.org/r/20210520152545.2710479-2-kashyap.desai@broadcom.com
Cc: sathya.prakash@broadcom.com
Cc: bvanassche@acm.org
Cc: hch@infradead.org
Reviewed-by: Hannes Reinecke <hare@suse.de >
Reviewed-by: Tomas Henzl <thenzl@redhat.com >
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-06-02 00:56:15 -04:00