From: Don Brace <don.brace@microchip.com>
To: <Kevin.Barnett@microchip.com>, <scott.teel@microchip.com>,
<Justin.Lindley@microchip.com>, <scott.benesh@microchip.com>,
<gerry.morong@microchip.com>, <mahesh.rajashekhara@microchip.com>,
<mike.mcgowen@microchip.com>, <murthy.bhat@microchip.com>,
<kumar.meiyappan@microchip.com>, <hch@infradead.org>,
<jejb@linux.vnet.ibm.com>, <joseph.szczypek@hpe.com>,
<POSWALD@suse.com>
Cc: <linux-scsi@vger.kernel.org>
Subject: [PATCH V2 00/16] smartpqi updates
Date: Fri, 8 Jul 2022 13:46:45 -0500 [thread overview]
Message-ID: <165730597930.177165.11663580730429681919.stgit@brunhilda> (raw)
These patches are based on Martin Petersen's 5.20/scsi-queue tree
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
5.20/scsi-queue
This set of changes consists of:
* Remove a device from the OS faster by adding -ENODEV return code check
in pqi_lun_reset. This status is set in the io_request->status member.
Schedule the rescan worker thread within 5 seconds to initiate the
removal. The driver used to retry a reset without checking for a
device's removal and initiated 3 more retries. Device resets were
taking up to 30 seconds. We also added a check to see if the controller
firmware is still responsive during a reset operation.
* Add the controller firmware version to the console logs. The firmware
version is still in sysfs firmware_version.
* Add support for more controllers; Ramaxel, Lenovo, and Adaptec.
* Close a few rare read/write ordering issues where a register read
could pass a register write.
* Add support for multi-actuator devices. Our controllers now support up
to 256 LUNs per multi-actuator device. We added a feature bit to check
if the controller supports multi-actuator devices and updated support
in the driver to support resets, I/O submission, and multi-actuator
device removals.
* Correct some rare system hangs that can occur when a PCI link-down
condition occurs (such as a cable pull). We also fail all outstanding
requests when a link-down is detected.
* Correct an issue with setting the DMA direction flag for RAID path
requests. It should be noted that there are two submission paths for
requests in the driver, a RAID path and an Accelerated I/O (AIO) path.
Beginning with firmware version 5.0 for Gen1 controllers and 3.01.x
for Gen2 controllers, a change was made that removed the SCSI command
READ BLOCK LIMITS (0x05) from an internal lookup table for RAID path
requests. As a result of this change, the firmware switched to using
the DMA direction flag in the request IU, which was incorrect. This
caused the command to hang the controller. This patch resolves the
hang. The AIO path is unaffected by the controller firmware change.
* correct a rare device RAID map access race condition related to
configuration changes. We do not access the RAID map until after the
new RAID map is valid.
* added a module parameter 'disable_managed_interrupts' to allow
customers to change IRQ affinity. Multi-queue still works properly.
* Updated device removal to using .slave_destroy instead of using our
own internal method.
* Added another module parameter to reduce the amount of time the
driver waits for a controller to become ready. The default wait time
is 3 minutes but can be extended to 30 minutes. This change results
from customers with large installations requesting a longer wait time.
* Updated copyright information.
* Bump the driver version to 2.1.18-045
---
Don Brace (2):
smartpqi: update copyright to current year.
smartpqi: update version to 2.1.18-045
Gilbert Wu (1):
smartpqi: add controller fw version to console log
Kevin Barnett (4):
smartpqi: stop logging spurious PQI reset failures
smartpqi: fix RAID map race condition
smartpqi: update deleting a LUN via sysfs
smartpqi: add ctrl ready timeout module parameter
Kumar Meiyappan (1):
smartpqi: add driver support for multi-LUN devices
Mahesh Rajashekhara (1):
smartpqi: fix dma direction for RAID requests
Mike McGowen (5):
smartpqi: shorten drive visibility after removal
smartpqi: close write read holes
smartpqi: add PCI-ID for Adaptec SmartHBA 2100-8i
smartpqi: add PCI-IDs for Lenovo controllers
smartpqi: add module param to disable managed ints
Murthy Bhat (1):
smartpqi: add PCI-IDs for ramaxel controllers
Sagar Biradar (1):
smartpqi: fix PCI control linkdown system hang
drivers/scsi/smartpqi/Kconfig | 2 +-
drivers/scsi/smartpqi/smartpqi.h | 27 +-
drivers/scsi/smartpqi/smartpqi_init.c | 405 +++++++++++++-----
.../scsi/smartpqi/smartpqi_sas_transport.c | 2 +-
drivers/scsi/smartpqi/smartpqi_sis.c | 11 +-
drivers/scsi/smartpqi/smartpqi_sis.h | 4 +-
6 files changed, 339 insertions(+), 112 deletions(-)
--
Signature
next reply other threads:[~2022-07-08 18:45 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-08 18:46 Don Brace [this message]
2022-07-08 18:46 ` [PATCH V2 01/16] smartpqi: shorten drive visibility after removal Don Brace
2022-07-08 18:46 ` [PATCH V2 02/16] smartpqi: add controller fw version to console log Don Brace
2022-07-08 18:47 ` [PATCH V2 03/16] smartpqi: add PCI-IDs for ramaxel controllers Don Brace
2022-07-08 18:47 ` [PATCH V2 04/16] smartpqi: close write read holes Don Brace
2022-07-08 18:47 ` [PATCH V2 05/16] smartpqi: add driver support for multi-LUN devices Don Brace
2022-07-08 18:47 ` [PATCH V2 06/16] smartpqi: fix PCI control linkdown system hang Don Brace
2022-07-08 18:47 ` [PATCH V2 07/16] smartpqi: add PCI-ID for Adaptec SmartHBA 2100-8i Don Brace
2022-07-08 18:47 ` [PATCH V2 08/16] smartpqi: add PCI-IDs for Lenovo controllers Don Brace
2022-07-08 18:47 ` [PATCH V2 09/16] smartpqi: stop logging spurious PQI reset failures Don Brace
2022-07-08 18:47 ` [PATCH V2 10/16] smartpqi: fix dma direction for RAID requests Don Brace
2022-07-08 18:47 ` [PATCH V2 11/16] smartpqi: fix RAID map race condition Don Brace
2022-07-08 18:47 ` [PATCH V2 12/16] smartpqi: add module param to disable managed ints Don Brace
2022-07-08 18:47 ` [PATCH V2 13/16] smartpqi: update deleting a LUN via sysfs Don Brace
2022-07-08 18:47 ` [PATCH V2 14/16] smartpqi: add ctrl ready timeout module parameter Don Brace
2022-07-08 18:48 ` [PATCH V2 15/16] smartpqi: update copyright to current year Don Brace
2022-07-08 18:48 ` [PATCH V2 16/16] smartpqi: update version to 2.1.18-045 Don Brace
2022-07-14 3:43 ` [PATCH V2 00/16] smartpqi updates Martin K. Petersen
2022-07-19 3:08 ` Martin K. Petersen
-- strict thread matches above, loose matches on Subject: below --
2022-07-08 18:44 Don Brace
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=165730597930.177165.11663580730429681919.stgit@brunhilda \
--to=don.brace@microchip.com \
--cc=Justin.Lindley@microchip.com \
--cc=Kevin.Barnett@microchip.com \
--cc=POSWALD@suse.com \
--cc=gerry.morong@microchip.com \
--cc=hch@infradead.org \
--cc=jejb@linux.vnet.ibm.com \
--cc=joseph.szczypek@hpe.com \
--cc=kumar.meiyappan@microchip.com \
--cc=linux-scsi@vger.kernel.org \
--cc=mahesh.rajashekhara@microchip.com \
--cc=mike.mcgowen@microchip.com \
--cc=murthy.bhat@microchip.com \
--cc=scott.benesh@microchip.com \
--cc=scott.teel@microchip.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.