4494ea54 | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: modified the log messages to be on a single line
qThis change was made after feedback from upstream, aiming to align with the style guide for consistent log formatting. No functional changes
mpi3mr: modified the log messages to be on a single line
qThis change was made after feedback from upstream, aiming to align with the style guide for consistent log formatting. No functional changes were made to the driver, only the formatting of the log messages.
Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49799
show more ...
|
f4d51d3e | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Update Driver Version to 8.14.0.2.0
The driver version has been updated to 8.14.0.2.0 to reflect the latest release. This is a version-only update with no functional code changes.
Reviewed
mpi3mr: Update Driver Version to 8.14.0.2.0
The driver version has been updated to 8.14.0.2.0 to reflect the latest release. This is a version-only update with no functional code changes.
Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49753
show more ...
|
69be9a24 | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Update Copyright Year to 2025
All driver source files have been updated to reflect the year 2025. This change is cosmetic and does not affect functionality.
Reviewed by: ssaxena, imp Differ
mpi3mr: Update Copyright Year to 2025
All driver source files have been updated to reflect the year 2025. This change is cosmetic and does not affect functionality.
Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49752
show more ...
|
df8a74fc | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Process LOG Data Events in Interrupt Top Half for Early Notification
The driver now processes LOG Data events in the interrupt top half instead of the bottom half. This allows LOG events to
mpi3mr: Process LOG Data Events in Interrupt Top Half for Early Notification
The driver now processes LOG Data events in the interrupt top half instead of the bottom half. This allows LOG events to be handled immediately upon receipt, reducing latency and enabling early notification to the Library or applications.
This change ensures LOG event handling occurs closer to the firmware's generation point, improving alignment with event-driven diagnostic and monitoring mechanisms.
Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49751
show more ...
|
b854677d | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Enable Diag Save for All Diagnostic Fault Cases
This patch ensures the driver sets the Diag Save bit for all diagnostic fault conditions before issuing a Diagnostic Fault Reset.
The firmwar
mpi3mr: Enable Diag Save for All Diagnostic Fault Cases
This patch ensures the driver sets the Diag Save bit for all diagnostic fault conditions before issuing a Diagnostic Fault Reset.
The firmware now incorporates logic to manage snapdump saving and requires the driver to always set the Diag Save bit to enable this feature. This change supports improved diagnostic data collection and fault handling.
Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49750
show more ...
|
49445b54 | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Block I/Os While Task Management is in Progress
The driver previously blocked I/Os only for OS-initiated task management commands. This patch extends the behavior to also block I/Os during a
mpi3mr: Block I/Os While Task Management is in Progress
The driver previously blocked I/Os only for OS-initiated task management commands. This patch extends the behavior to also block I/Os during application-initiated task management operations (excluding Task Abort).
Before submitting such commands to the firmware, I/O submissions are paused for the respective device. Once the command completes, I/O operations are resumed.
This ensures safe and consistent task management handling.
[[ Note: Warner landed this with the pending suggestion since this change is good enough for 14.3, but chs' suggestion for better atomics needs to be implemented soon ]]
Discussed with: imp, chs Differential Revision: https://reviews.freebsd.org/D49749
show more ...
|
e80317ba | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Add NVData Parameter for Host Timestamp Synchronization
The driver now retrieves the Time Stamp value from Driver Page 1 during load and after controller reset. If the value is valid, it is
mpi3mr: Add NVData Parameter for Host Timestamp Synchronization
The driver now retrieves the Time Stamp value from Driver Page 1 during load and after controller reset. If the value is valid, it is used to enable periodic host timestamp synchronization.
This adds a tunable NVData parameter to control the behavior of host time sync, enhancing flexibility and platform-specific control.
Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49748
show more ...
|
116c8b18 | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Handle Insufficient Power Fault Code
The driver now checks for insufficient power faults during the load phase and immediately fails initialization instead of retrying.
Additionally, if an
mpi3mr: Handle Insufficient Power Fault Code
The driver now checks for insufficient power faults during the load phase and immediately fails initialization instead of retrying.
Additionally, if an insufficient power fault is detected by the watchdog after the controller is up, the controller is marked as unrecoverable instead of triggering a reset.
This improves fault handling and avoids unnecessary recovery attempts in low-power conditions.
Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49747
show more ...
|
e977ed50 | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Enhance Controller Enable Retry Logic in Host Drivers
This patch improves the retry logic during the IOC enable process. If a controller faults or if the reset history bit is detected during
mpi3mr: Enhance Controller Enable Retry Logic in Host Drivers
This patch improves the retry logic during the IOC enable process. If a controller faults or if the reset history bit is detected during the ready status check, the driver will retry initialization up to three times or until 510 seconds have passed.
A soft reset will also be issued if the controller is detected while waiting for the ready status.
This enhances reliability during controller initialization.
Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49746
show more ...
|
d14c4ea0 | 28-Apr-2025 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Set Driver Capability for OS Exposure in IOCInit
This patch updates the driver to set the OSExposure field in DriverCapability during IOCInit to MPI3_IOCINIT_DRIVERCAP_OSEXPOSURE_NO_SPECIAL(
mpi3mr: Set Driver Capability for OS Exposure in IOCInit
This patch updates the driver to set the OSExposure field in DriverCapability during IOCInit to MPI3_IOCINIT_DRIVERCAP_OSEXPOSURE_NO_SPECIAL(0x1), aligning with the latest MPI specification version 36.
Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49745
show more ...
|
3f3a1554 | 06-Jun-2024 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Divert large WriteSame IOs to firmware if unmap and ndob bits are set
Firmware advertises the transfer lenght for writesame commands to driver during init. So for any writesame IOs with ndob
mpi3mr: Divert large WriteSame IOs to firmware if unmap and ndob bits are set
Firmware advertises the transfer lenght for writesame commands to driver during init. So for any writesame IOs with ndob and unmap bit set and transfer lengh is greater than the max write same length specified by the firmware, then direct those commands to firmware instead of hardware otherwise hardware will break.
Reviewed by: imp Approved by: imp Differential revision: https://reviews.freebsd.org/D44452
show more ...
|
3012fa8f | 19-Mar-2024 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Adding FreeBSD OS Type to Fault/Reset Reason Code
The driver is modified to add FreeBSD OS type in the upper nibble of the fault/reset reason code for appropriate qualification of the reason
mpi3mr: Adding FreeBSD OS Type to Fault/Reset Reason Code
The driver is modified to add FreeBSD OS type in the upper nibble of the fault/reset reason code for appropriate qualification of the reason code.
Reviewed by: imp Approved by: imp Differential revision: https://reviews.freebsd.org/D44427
show more ...
|
4034d706 | 19-Mar-2024 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: diag fault success beyond F000 fault code
Accept any fault as successful for diagnostic fault reset, not just the 0xF000 code. print fault information and return.
Reviewed by: im
mpi3mr: diag fault success beyond F000 fault code
Accept any fault as successful for diagnostic fault reset, not just the 0xF000 code. print fault information and return.
Reviewed by: imp Approved by: imp Differential revision: https://reviews.freebsd.org/D44426
show more ...
|
eb7a4b35 | 14-Mar-2024 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Update consumer index of admin and operational reply queues after every 100 replies
Instead of updating the ConsumerIndex of the Admin and Operational ReplyQueues after processing all replie
mpi3mr: Update consumer index of admin and operational reply queues after every 100 replies
Instead of updating the ConsumerIndex of the Admin and Operational ReplyQueues after processing all replies in the queue, it will now be periodically updated after processing every 100 replies.
Reviewed by: imp Approved by: imp Differential revision: https://reviews.freebsd.org/D44425
show more ...
|
571f1d06 | 14-Mar-2024 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: Decrement per controller and per target counter post reset
Post controller reset, If any device removal events arrive, and if there are any outstanding IOs then the driver will unnecessarily
mpi3mr: Decrement per controller and per target counter post reset
Post controller reset, If any device removal events arrive, and if there are any outstanding IOs then the driver will unnecessarily wait in the loop for 30 seconds before removing the device from the OS.
reset target outstanding IO counter and controller outstanding IO counter and remove the redundant wait loop.
Reviewed by: imp Approved by: imp Differential revision: https://reviews.freebsd.org/D44424
show more ...
|
701d776c | 14-Mar-2024 |
Chandrakanth patil <chandrakanth.patil@broadcom.com> |
mpi3mr: poll reply queue and add MPI3MR_DEV_REMOVE_HS_COMPLETED flag
An outstanding IO counter per target check has been added before deleting the target from the OS which will poll the reply queue
mpi3mr: poll reply queue and add MPI3MR_DEV_REMOVE_HS_COMPLETED flag
An outstanding IO counter per target check has been added before deleting the target from the OS which will poll the reply queue if there are any outstanding IOs are found.
A new flag, named "MPI3MR_DEV_REMOVE_HS_COMPLETED," is added. If a remove event for a target occurs and before the deletion of the target resource if the add event for another target arrives reusing the same target ID then this flag will prevent the removal of the target reference. This flag ensures synchronization between the interrupt top and bottom half during target removal and addition events.
Reviewed by: imp Approved by: imp Differential revision: https://reviews.freebsd.org/D44423
show more ...
|