smartpqi: Maintenance commit of Microchip smartpqi
Newly added features and bug fixes in latest Microchip SmartPQI driver.
1) Newly added TMF feature.
2) Added newly Huawei & Inspur PCI ID's
3) Fixed smartpqi driver hangs in Z-Pool while running on FreeBSD12.1
4) Fixed flooding dmesg in kernel while the controller is offline during
in ioctls.
5) Avoided unnecessary host memory allocation for rcb sg buffers.
6) Fixed race conditions while accessing internal rcb structure.
7) Fixed where Logical volumes exposing two different names to the OS
it's due to the system memory is overwritten with DMA stale data.
8) Fixed dynamically unloading a smartpqi driver.
9) Added device_shutdown callback instead of deprecated shutdown_final
kernel event in smartpqi driver.
10) Fixed where Os is crashed during physical drive hot removal during
heavy IO.
11) Fixed OS crash during controller lockup/offline during heavy IO.
12) Fixed coverity issues in smartpqi driver
13) Fixed system crash while creating and deleting logical volume in a
continuous loop.
14) Fixed where the volume size is not exposing to OS when it expands.
15) Added HC3 pci id's.
16) Fixed compiler issues in 12.2 kernel.
Note: this is a direct commit, submitted by the vendor to support
stable/12
Reviewed by: imp, Murthy Bhat, Scott Benesh
Differential Revision: https://reviews.freebsd.org/D24428