Kevin Barnett
f6cc2a774a
scsi: smartpqi: Add support for BMIC sense feature cmd and feature bits
...
Determine support for supported features from BMIC sense feature command
instead of config table. Enable features such as: RAID 1/5/6 write
support, SATA wwid, and encryption.
Link: https://lore.kernel.org/r/161549373914.25025.7999816178098103135.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com >
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-04-05 23:02:29 -04:00
Don Brace
7a012c23c7
scsi: smartpqi: Add support for RAID1 writes
...
Add RAID1 write IU and implement RAID1 write support. Change brand names
ADM/ADG to TRIPLE/RAID-6.
Link: https://lore.kernel.org/r/161549373324.25025.2441592111049564780.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-04-05 23:02:29 -04:00
Don Brace
6702d2c40f
scsi: smartpqi: Add support for RAID5 and RAID6 writes
...
Add in new IU definition and implement support for RAID5 and RAID6 writes.
Link: https://lore.kernel.org/r/161549372734.25025.963261942897080281.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com >
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-04-05 23:02:29 -04:00
Don Brace
1a22bc4bee
scsi: smartpqi: Refactor scatterlist code
...
Factor out code common to all scatter-gather list building to prepare for
new AIO functionality. AIO (Accelerated I/O) requests go directly to disk
No functional changes.
Link: https://lore.kernel.org/r/161549372147.25025.9706613054649682229.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com >
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-04-05 23:02:29 -04:00
Don Brace
281a817f23
scsi: smartpqi: Refactor aio submission code
...
Refactor aio submission code:
1. Break up function pqi_raid_bypass_submit_scsi_cmd()
into smaller functions.
2. Add common block (rmd - raid_map_data) to carry around into newly
added functions.
3. Prepare for new AIO functionality.
No functional changes.
Link: https://lore.kernel.org/r/161549371553.25025.8840958689316611074.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com >
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-04-05 23:02:28 -04:00
Kevin Barnett
2708a25643
scsi: smartpqi: Add support for new product ids
...
Add support for newer hardware by adding in a product identifier. This
identifier can then be used to check for the hardware generation.
Link: https://lore.kernel.org/r/161549370966.25025.2968242206975557607.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com >
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-04-05 23:02:28 -04:00
Murthy Bhat
b622a601a1
scsi: smartpqi: Correct request leakage during reset operations
...
While failing queued I/Os in TMF path, there was a request leak and hence
stale entries in request pool with ref count being non-zero. In shutdown
path we have a BUG_ON to catch stuck I/O either in firmware or in the
driver. The stale requests caused a system crash. The I/O request pool
leakage also lead to a significant performance drop.
Link: https://lore.kernel.org/r/161549370379.25025.12793264112620796062.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com >
Signed-off-by: Murthy Bhat <Murthy.Bhat@microchip.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-04-05 23:02:28 -04:00
Don Brace
c6d3ee209b
scsi: smartpqi: Use host-wide tag space
...
Correct SCSI midlayer sending more requests than exposed host queue depth
causing firmware ASSERT and lockup issues by enabling host-wide tags.
Note: This also results in better performance.
Link: https://lore.kernel.org/r/161549369787.25025.8975999483518581619.stgit@brunhilda
Suggested-by: Ming Lei <ming.lei@redhat.com >
Suggested-by: John Garry <john.garry@huawei.com >
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2021-04-05 23:02:28 -04:00
Leon Romanovsky
6417f03132
module: remove never implemented MODULE_SUPPORTED_DEVICE
...
MODULE_SUPPORTED_DEVICE was added in pre-git era and never was
implemented. We can safely remove it, because the kernel has grown
to have many more reliable mechanisms to determine if device is
supported or not.
Signed-off-by: Leon Romanovsky <leonro@nvidia.com >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-03-17 13:16:18 -07:00
Don Brace
5443bdc4cc
scsi: smartpqi: Update version to 1.2.16-012
...
Link: https://lore.kernel.org/r/160512629093.2359.13675060282143622110.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Reviewed-by: Gerry Morong <gerry.morong@microchip.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-11-16 23:03:10 -05:00
Don Brace
1bdf6e9343
scsi: smartpqi: Correct driver removal with HBA disks
...
Correct rmmod hangs when using HBA disks with write cache enabled.
Do not set controller flag "in_shutdown" during rmmod. SCSI SYNCHRONIZE
CACHE(10) and SCSI SYNCHRONIZE CACHE(16) requests were blocked with
SCSI_MLQUEUE_HOST_BUSY.
Link: https://lore.kernel.org/r/160512627928.2359.10698615071827614781.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microchip.com >
Reviewed-by: Scott Teel <scott.teel@microchip.com >
Signed-off-by: Don Brace <don.brace@microchip.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-11-16 23:03:10 -05:00
Linus Torvalds
55e0500eb5
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
...
Pull SCSI updates from James Bottomley:
"The usual driver updates (ufs, qla2xxx, tcmu, ibmvfc, lpfc, smartpqi,
hisi_sas, qedi, qedf, mpt3sas) and minor bug fixes.
There are only three core changes: adding sense codes, cleaning up
noretry and adding an option for limitless retries"
* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (226 commits)
scsi: hisi_sas: Recover PHY state according to the status before reset
scsi: hisi_sas: Filter out new PHY up events during suspend
scsi: hisi_sas: Add device link between SCSI devices and hisi_hba
scsi: hisi_sas: Add check for methods _PS0 and _PR0
scsi: hisi_sas: Add controller runtime PM support for v3 hw
scsi: hisi_sas: Switch to new framework to support suspend and resume
scsi: hisi_sas: Use hisi_hba->cq_nvecs for calling calling synchronize_irq()
scsi: qedf: Remove redundant assignment to variable 'rc'
scsi: lpfc: Remove unneeded variable 'status' in lpfc_fcp_cpu_map_store()
scsi: snic: Convert to use DEFINE_SEQ_ATTRIBUTE macro
scsi: qla4xxx: Delete unneeded variable 'status' in qla4xxx_process_ddb_changed
scsi: sun_esp: Use module_platform_driver to simplify the code
scsi: sun3x_esp: Use module_platform_driver to simplify the code
scsi: sni_53c710: Use module_platform_driver to simplify the code
scsi: qlogicpti: Use module_platform_driver to simplify the code
scsi: mac_esp: Use module_platform_driver to simplify the code
scsi: jazz_esp: Use module_platform_driver to simplify the code
scsi: mvumi: Fix error return in mvumi_io_attach()
scsi: lpfc: Drop nodelist reference on error in lpfc_gen_req()
scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs()
...
2020-10-14 15:15:35 -07:00
Don Brace
2a71268160
scsi: smartpqi: Update copyright
...
Update driver copyright.
Link: https://lore.kernel.org/r/159864896224.13630.9798419111015060967.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-09-02 22:49:06 -04:00
Gustavo A. R. Silva
df561f6688
treewide: Use fallthrough pseudo-keyword
...
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org >
2020-08-23 17:36:59 -05:00
Don Brace
ce60a2b827
scsi: smartpqi: Bump version to 1.2.16-010
...
Link: https://lore.kernel.org/r/159622931040.30579.9167901134341507088.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Gerry Morong <gerry.morong@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-08-20 21:41:51 -04:00
Kevin Barnett
8b664fefa3
scsi: smartpqi: Add RAID bypass counter
...
Add a counter to assist in verifying when RAID bypass is being used.
Link: https://lore.kernel.org/r/159622930468.30579.13153724465552773544.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-08-20 21:41:51 -04:00
Kevin Barnett
4d15ad3813
scsi: smartpqi: Support device deletion via sysfs
...
Support device deletion via sysfs.
I.e: echo 1 > /sys/block/sd<X>/device/delete
Link: https://lore.kernel.org/r/159622929885.30579.2727491506675011534.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-08-20 21:41:51 -04:00
Kevin Barnett
9e68cccc8e
scsi: smartpqi: Avoid crashing kernel for controller issues
...
Eliminate kernel panics when getting invalid responses from controller.
Take controller offline instead of causing kernel panics.
Link: https://lore.kernel.org/r/159622929306.30579.16523318707596752828.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Prasad Munirathnam <Prasad.Munirathnam@microsemi.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-08-20 21:41:51 -04:00
Mahesh Rajashekhara
244ca45e15
scsi: smartpqi: Update logical volume size after expansion
...
Have OS rescan after logical volume expansion to reflect new size.
Link: https://lore.kernel.org/r/159622928727.30579.298277463169866711.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-08-20 21:41:51 -04:00
Mahesh Rajashekhara
3af06083ba
scsi: smartpqi: Add id support for SmartRAID 3152-8i
...
VID_9005, DID_028F, SVID_9005 and SDID_080A.
Link: https://lore.kernel.org/r/159622928143.30579.14769183842894725454.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-08-20 21:41:51 -04:00
Kevin Barnett
ce14379350
scsi: smartpqi: Identify physical devices without issuing INQUIRY
...
Eliminate issuing INQUIRYs to problematic devices by using information
provided by controller.
Link: https://lore.kernel.org/r/159622927172.30579.3960527536810532094.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Martin Wilck <mwilck@suse.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-08-20 21:41:50 -04:00
Bolarinwa Olayemi Saheed
d20df83b66
PCI: Convert PCIe capability PCIBIOS errors to errno
...
The PCI config accessors (pci_read_config_word(), et al) return
PCIBIOS_SUCCESSFUL (zero) or positive error values like
PCIBIOS_FUNC_NOT_SUPPORTED.
The PCIe capability accessors (pcie_capability_read_word(), et al)
similarly return PCIBIOS errors, but some callers assume they return
generic errno values like -EINVAL.
For example, the Myri-10G probe function returns a positive PCIBIOS error
if the pcie_capability_clear_and_set_word() in pcie_set_readrq() fails:
myri10ge_probe
status = pcie_set_readrq
return pcie_capability_clear_and_set_word
if (status)
return status
A positive return from a PCI driver probe function would cause a "Driver
probe function unexpectedly returned" warning from local_pci_probe()
instead of the desired probe failure.
Convert PCIBIOS errors to generic errno for all callers of:
pcie_capability_read_word
pcie_capability_read_dword
pcie_capability_write_word
pcie_capability_write_dword
pcie_capability_set_word
pcie_capability_set_dword
pcie_capability_clear_word
pcie_capability_clear_dword
pcie_capability_clear_and_set_word
pcie_capability_clear_and_set_dword
that check the return code for anything other than zero.
[bhelgaas: commit log, squash together]
Suggested-by: Bjorn Helgaas <bjorn@helgaas.com >
Link: https://lore.kernel.org/r/20200615073225.24061-1-refactormyself@gmail.com
Signed-off-by: Bolarinwa Olayemi Saheed <refactormyself@gmail.com >
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com >
2020-06-26 13:50:09 -05:00
Takashi Iwai
181aea8948
scsi: smartpqi: Use scnprintf() for avoiding potential buffer overflow
...
Since snprintf() returns the would-be-output size instead of the actual
output size, the succeeding calls may go beyond the given buffer limit.
Fix it by replacing with scnprintf().
Link: https://lore.kernel.org/r/20200315094241.9086-9-tiwai@suse.de
Cc: "James E . J . Bottomley" <jejb@linux.ibm.com >
Cc: "Martin K . Petersen" <martin.petersen@oracle.com >
Cc: Don Brace <don.brace@microsemi.com >
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-03-17 13:36:13 -04:00
Christoph Hellwig
4bdc0d676a
remove ioremap_nocache and devm_ioremap_nocache
...
ioremap has provided non-cached semantics by default since the Linux 2.6
days, so remove the additional ioremap_nocache interface.
Signed-off-by: Christoph Hellwig <hch@lst.de >
Acked-by: Arnd Bergmann <arnd@arndb.de >
2020-01-06 09:45:59 +01:00
Pankaj Bharadiya
c593642c8b
treewide: Use sizeof_field() macro
...
Replace all the occurrences of FIELD_SIZEOF() with sizeof_field() except
at places where these are defined. Later patches will remove the unused
definition of FIELD_SIZEOF().
This patch is generated using following script:
EXCLUDE_FILES="include/linux/stddef.h|include/linux/kernel.h"
git grep -l -e "\bFIELD_SIZEOF\b" | while read file;
do
if [[ "$file" =~ $EXCLUDE_FILES ]]; then
continue
fi
sed -i -e 's/\bFIELD_SIZEOF\b/sizeof_field/g' $file;
done
Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com >
Link: https://lore.kernel.org/r/20190924105839.110713-3-pankaj.laxminarayan.bharadiya@intel.com
Co-developed-by: Kees Cook <keescook@chromium.org >
Signed-off-by: Kees Cook <keescook@chromium.org >
Acked-by: David Miller <davem@davemloft.net > # for net
2019-12-09 10:36:44 -08:00
Don Brace
390e280878
scsi: smartpqi: bump version
...
Link: https://lore.kernel.org/r/157048753592.11757.3634142461093493860.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Gerry Morong <gerry.morong@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-10-09 23:11:32 -04:00
Kevin Barnett
694c5d5b46
scsi: smartpqi: Align driver syntax with oob
...
Formatting changes, no functional changes.
Link: https://lore.kernel.org/r/157048753005.11757.2228541207280057256.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-10-09 23:11:32 -04:00
Kevin Barnett
5b083b305b
scsi: smartpqi: fix problem with unique ID for physical device
...
Obtain the unique IDs from the RLL and RPL instead of VPD page 83h.
Link: https://lore.kernel.org/r/157048751833.11757.11996314786914610803.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-10-09 23:07:51 -04:00
Kevin Barnett
e655d469c3
scsi: smartpqi: correct syntax issue
...
Link: https://lore.kernel.org/r/157048751247.11757.1727592925624138646.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-10-09 23:07:50 -04:00
Kevin Barnett
bb9af08cfc
scsi: smartpqi: change TMF timeout from 60 to 30 seconds
...
Link: https://lore.kernel.org/r/157048750649.11757.7811056360633694725.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-10-09 23:07:50 -04:00
Murthy Bhat
c2922f174f
scsi: smartpqi: fix LUN reset when fw bkgnd thread is hung
...
Add support for a timeout on LUN resets.
Link: https://lore.kernel.org/r/157048750055.11757.9689400788261610618.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Murthy Bhat <Murthy.Bhat@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-10-09 23:07:50 -04:00
koshyaji
21432010d5
scsi: smartpqi: add inquiry timeouts
...
Add timeout field in RAID IU.
Link: https://lore.kernel.org/r/157048749461.11757.10013040278241807855.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: koshyaji <ajish.koshy@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-10-09 23:07:50 -04:00
Kevin Barnett
0530736e40
scsi: smartpqi: fix controller lockup observed during force reboot
...
Link: https://lore.kernel.org/r/157048748297.11757.3872221216800537383.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-10-09 23:07:50 -04:00
Colin Ian King
9e322310e1
scsi: smartpqi: clean up an indentation issue
...
There are some statements that are indented too deeply, remove the
extraneous tabs and rejoin split lines.
Link: https://lore.kernel.org/r/20190927095840.26377-1-colin.king@canonical.com
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-09-30 23:12:12 -04:00
YueHaibing
1c62948589
scsi: smartpqi: remove set but not used variable 'ctrl_info'
...
Fixes gcc '-Wunused-but-set-variable' warning:
drivers/scsi/smartpqi/smartpqi_init.c: In function 'pqi_driver_version_show':
drivers/scsi/smartpqi/smartpqi_init.c:6164:24: warning:
variable 'ctrl_info' set but not used [-Wunused-but-set-variable]
commit 6d90615f13 ("scsi: smartpqi: add sysfs entries") added it but
it was never used. Also remove variable 'shost'.
[mkp: commit desc]
Link: https://lore.kernel.org/r/20190831130348.20552-1-yuehaibing@huawei.com
Reported-by: Hulk Robot <hulkci@huawei.com >
Signed-off-by: YueHaibing <yuehaibing@huawei.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-09-30 22:37:18 -04:00
Colin Ian King
a3a65ddd79
scsi: smartpqi: clean up indentation of a statement
...
There is a statement that is indented one level too deeply, remove the tab,
re-join broken line and remove some empty lines.
Link: https://lore.kernel.org/r/20190831073903.7834-1-colin.king@canonical.com
Addresses-Coverity: ("Indentation does not match nesting")
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-09-30 22:35:18 -04:00
Don Brace
391a241794
scsi: smartpqi: bump version
...
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Gerry Morong <gerry.morong@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:39 -04:00
Gilbert Wu
63a7956ae1
scsi: smartpqi: add new pci ids
...
Add:
PM8222 VID_9005, DID_028F, SVID_1BD4 and SDID_004F
3101E-4i (1G, no GB) VID_9005, DID_028F, SVID_9005 and SDID_0808
3102E-8i (2G, no GB) VID_9005, DID_028F, SVID_9005 and SDID_0809
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:39 -04:00
Murthy Bhat
9946a39872
scsi: smartpqi: correct REGNEWD return status
...
Return -EINPROGRESS when a rescan worker is queued.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Murthy Bhat <Murthy.Bhat@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:39 -04:00
Gilbert Wu
71ecc60d9b
scsi: smartpqi: add gigabyte controller
...
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:39 -04:00
Mahesh Rajashekhara
530dd8a7a2
scsi: smartpqi: correct hang when deleting 32 lds
...
When each ld is deleted, a rescan event is triggered in the driver. These
can stack up waiting on mutex_lock.
Change to mutex_try_lock and schedule a rescan for later.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:39 -04:00
Gilbert Wu
2d2ad4bc72
scsi: smartpqi: add bay identifier
...
Return identify physical device "Phys_Bay_in_Box" as bay_identifier.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:39 -04:00
Murthy Bhat
6d90615f13
scsi: smartpqi: add sysfs entries
...
- serial number
- model
- vendor
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Murthy Bhat <Murthy.Bhat@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:39 -04:00
Dave Carroll
522bc026f0
scsi: smartpqi: add module param to hide vsep
...
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Dave Carroll <david.carroll@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:38 -04:00
Gilbert Wu
8bdb3b9c67
scsi: smartpqi: add pci ids for fiberhome controller
...
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:38 -04:00
Gilbert Wu
5e6a9760f7
scsi: smartpqi: add module param for exposure order
...
Expose physical devices before logical devices.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-08-29 18:31:38 -04:00
Dan Carpenter
cc8f52609b
scsi: smartpqi: unlock on error in pqi_submit_raid_request_synchronous()
...
We need to drop the "ctrl_info->sync_request_sem" lock before returning.
Fixes: 6c223761eb ("smartpqi: initial commit of Microsemi smartpqi driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Acked-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-06-04 22:22:29 -04:00
Lianbo Jiang
1d94f06e7f
scsi: smartpqi: properly set both the DMA mask and the coherent DMA mask
...
When SME is enabled, the smartpqi driver won't work on the HP DL385 G10
machine, which causes the failure of kernel boot because it fails to
allocate pqi error buffer. Please refer to the kernel log:
....
[ 9.431749] usbcore: registered new interface driver uas
[ 9.441524] Microsemi PQI Driver (v1.1.4-130)
[ 9.442956] i40e 0000:04:00.0: fw 6.70.48768 api 1.7 nvm 10.2.5
[ 9.447237] smartpqi 0000:23:00.0: Microsemi Smart Family Controller found
Starting dracut initqueue hook...
[ OK ] Started Show Plymouth Boot Scre[ 9.471654] Broadcom NetXtreme-C/E driver bnxt_en v1.9.1
en.
[ OK ] Started Forward Password Requests to Plymouth Directory Watch.
[[0;[ 9.487108] smartpqi 0000:23:00.0: failed to allocate PQI error buffer
....
[ 139.050544] dracut-initqueue[949]: Warning: dracut-initqueue timeout - starting timeout scripts
[ 139.589779] dracut-initqueue[949]: Warning: dracut-initqueue timeout - starting timeout scripts
Basically, the fact that the coherent DMA mask value wasn't set caused the
driver to fall back to SWIOTLB when SME is active.
For correct operation, lets call the dma_set_mask_and_coherent() to
properly set the mask for both streaming and coherent, in order to inform
the kernel about the devices DMA addressing capabilities.
Signed-off-by: Lianbo Jiang <lijiang@redhat.com >
Acked-by: Don Brace <don.brace@microsemi.com >
Tested-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-05-29 21:59:02 -04:00
Erwan Velu
8ef860ae55
scsi: smartpqi: Reporting unhandled SCSI errors
...
When a HARDWARE_ERROR is triggered for ASC=0x3e, the existing code is only
considering the case where ASCQ=0x1.
According to the http://www.t10.org/lists/asc-num.htm#ASC_3E specification,
other values may occur like a timeout (ASCQ=0x2).
This patch prints an error message when a non-handled message is received.
This can help diagnose a possible misbehavior of the controller or a
missing implementation in the Linux kernel.
This patch keeps the exact same error handling but prints a message if an
ASCQ != 1 is reported.
[mkp: clarified commit message]
Signed-off-by: Erwan Velu <e.velu@criteo.com >
Acked-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-05-20 10:56:43 -04:00
Dongli Zhang
79d3fa9ea7
scsi: smartpqi: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map
...
Use HCTX_TYPE_DEFAULT instead of 0 to avoid hardcoding.
Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2019-03-19 15:29:10 -04:00