aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mpr/mpr_pci.c
Commit message (Collapse)AuthorAgeFilesLines
* Refine the busdma template interface. Provide tools for filling in fieldsScott Long2020-09-141-1/+1
| | | | | | | | | | that can be extended, but also ensure compile-time type checking. Refactor common code out of arch-specific implementations. Move the mpr and mps drivers to this new API. The template type remains visible to the consumer so that it can be allocated on the stack, but should be considered opaque. Notes: svn path=/head/; revision=365706
* mpr: clean up empty lines in .c and .h filesMateusz Guzik2020-09-011-3/+0
| | | | Notes: svn path=/head/; revision=365204
* Convert the mpr driver to use busdma templates.Scott Long2019-12-241-11/+3
| | | | Notes: svn path=/head/; revision=356052
* Add Sea,Aero adapter supportKashyap D Desai2018-12-261-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added deviceID's for Sea,Aero to mpr Driver Aero: 0x00E0 Invalid 0x00E1 Configurable Secure 0x00E2 Hard Secure 0x00E3 Tampered Sea: 0x00E4 Invalid 0x00E5 Configurable Secure 0x00E6 Hard Secure 0x00E7 Tampered For Tampered & Invalid type cards, driver will claim the device & quit the probe function with below error message, "HBA is in Non Secure mode" for Configurable Secure type cards, driver will display below message in .probe() callback function, "HBA is in Configurable Secure mode" Submitted by: Sreekanth Reddy <sreekanth.reddy@broadcom.com> Reviewed by: Kashyap Desai <Kashyap.Desai@broadcom.com> Approved by: ken MFC after: 3 days Sponsored by: Broadcom Inc Notes: svn path=/head/; revision=342531
* Add PNP info to PCI attachments of cbb, cxgb, ida, iwn, ixl, ixlv,Warner Losh2018-09-261-3/+8
| | | | | | | | | | | | | mfi, mps, mpr, mvs, my, oce, pcn, ral, rl. This only labels existing pci device tables, and has no probe / attach code changes. Reviewed by: imp, chuck Submitted by: Lakhan Shiva Kamireddy <lakhanshiva@gmail.com> Sponsored by: Google, Inc. (GSoC 2018) Approved by: re (glen) Notes: svn path=/head/; revision=338949
* Fix line wrap issues.Scott Long2017-09-151-4/+4
| | | | | | | Sponsored by: Netflix Notes: svn path=/head/; revision=323629
* Add infrastructure for allocating multiple MSI-X interrupts. AlsoScott Long2017-09-111-10/+27
| | | | | | | | | add more fine-tuned controls for allocating requests and replies. Sponsored by: Netflix Notes: svn path=/head/; revision=323412
* Start separating the LSI drivers into per-queue structures. NoScott Long2017-09-091-16/+30
| | | | | | | | | functional change. Sponsored by: Netflix Notes: svn path=/head/; revision=323369
* Refactor interrupt allocation and deallocation. Add some extraScott Long2017-09-081-50/+52
| | | | | | | | | diagnostics. No other functional changes. Sponsored by: Netflix Notes: svn path=/head/; revision=323330
* Fix a logic bug in the split PCI interrupt code that slipped throughScott Long2017-07-311-1/+2
| | | | | | | Reported by: Harry Schmalzbauer Notes: svn path=/head/; revision=321799
* Don't re-parse PCI IDs in order to set card-specific flags, useScott Long2017-07-311-22/+18
| | | | | | | the flags field in the PCIID table. Notes: svn path=/head/; revision=321737
* Split the interrupt setup code into two parts: allocation and configuration.Scott Long2017-07-301-5/+31
| | | | | | | | | | | | | | | | | Do the allocation before requesting the IOCFacts message. This triggers the LSI firmware to recognize the multiqueue should be enabled if available. Multiqueue isn't used by the driver yet, but this also fixes a problem with the cached IOCFacts not matching latter checks, leading to potential problems with error recovery. As a side-effect, fetch the driver tunables as early as possible. Reviewed by: slm Obtained from: Netflix Differential Revision: D9243 Notes: svn path=/head/; revision=321714
* Add tri-mode support (SAS/SATA/PCIe).Stephen McConnell2017-05-171-9/+47
| | | | | | | | | | | | | | | | | | | | This includes NVMe device support and adds support for the following adapters: SAS 3408 SAS 3416 SAS 3508 SAS 3516 SAS 3616 SAS 3708 SAS 3716 Reviewed by: ken, scottl, asomers, mav Approved by: ken, scottl, mav MFC after: 2 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D10095 Notes: svn path=/head/; revision=318427
* Add support for the Broadcom (Avago/LSI) 9305 16 and 24 port HBA's.Stephen McConnell2016-05-091-0/+12
| | | | | | | | | | | Reviewed by: ken, scottl, ambrisko, asomers Approved by: ken, scottl, ambrisko MFC after: 1 week Relnotes: yes Differential Revision: https://reviews.freebsd.org/D6098 Notes: svn path=/head/; revision=299266
* The wrong commit message was given with r283632. This is the correct message.Stephen McConnell2015-05-281-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Updated all files with 2015 Avago copyright, and updated LSI's copyright dates. - Changed all of the PCI device strings from LSI to Avago Technologies (LSI). - Added a sysctl variable to control how StartStopUnit behavior works. User can select to spin down disks based on if disk is SSD or HDD. - Inquiry data is required to tell if a disk will support SSU at shutdown or not. Due to the addition of mpssas_async, which gets Advanced Info but not Inquiry data, the setting of supports_SSU was moved to the mpssas_scsiio_complete function, which snoops for any Inquiry commands. And, since disks are shutdown as a target and not a LUN, this process was simplified by basing it on targets and not LUNs. - Added a sysctl variable that sets the amount of time to retry after sending a failed SATA ID command. This helps with some bad disks and large disks that require a lot of time to spin up. Part of this change was to add a callout to handle timeouts with the SATA ID command. The callout function is called mpssas_ata_id_timeout(). (Fixes PR 191348) - Changed the way resets work by allowing I/O to continue to devices that are not currently under a reset condition. This uses devq's instead of simq's and makes use of the MPSSAS_TARGET_INRESET flag. This change also adds a function called mpssas_prepare_tm(). - Some changes were made to reduce code duplication when getting a SAS address for a SATA disk. - Fixed some formatting and whitespace. - Bump version of mps driver to 9.255.01.00-fbsd PR: 191348 Reviewed by: ken, scottl Approved by: ken, scottl MFC after: 1 week Notes: svn path=/head/; revision=283661
* The wrong commit message was given with r283632. To get the correct commitStephen McConnell2015-05-281-7/+7
| | | | | | | | | | | message synced to the changes in r283632, those changes are now backed out. Another commit will be done that is exactly the same as r283632 except it will have to correct commit message. Approved by: ken, scottl, asomers, gibbs Notes: svn path=/head/; revision=283660
* This setting of stop_at_shutdown should have been removed with r279253Stephen McConnell2015-05-271-7/+7
| | | | | | | | Approved by: ken MFC after: 1 week Notes: svn path=/head/; revision=283632
* Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers.Kenneth D. Merry2014-05-021-0/+350
This is derived from the mps(4) driver, but it supports only the 12Gb IT and IR hardware including the SAS 3004, SAS 3008 and SAS 3108. Some notes about this driver: o The 12Gb hardware can do "FastPath" I/O, and that capability is included in this driver. o WarpDrive functionality has been removed, since it isn't supported in the 12Gb driver interface. o The Scatter/Gather list handling code is significantly different between the 6Gb and 12Gb hardware. The 12Gb boards support IEEE Scatter/Gather lists. Thanks to LSI for developing and testing this driver for FreeBSD. share/man/man4/mpr.4: mpr(4) man page. sys/dev/mpr/*: mpr(4) driver files. sys/modules/Makefile, sys/modules/mpr/Makefile: Add a module Makefile for the mpr(4) driver. sys/conf/files: Add the mpr(4) driver. sys/amd64/conf/GENERIC, sys/i386/conf/GENERIC, sys/mips/conf/OCTEON1, sys/sparc64/conf/GENERIC: Add the mpr(4) driver to all config files that currently have the mps(4) driver. sys/ia64/conf/GENERIC: Add the mps(4) and mpr(4) drivers to the ia64 GENERIC config file. sys/i386/conf/XEN: Exclude the mpr module from building here. Submitted by: Steve McConnell <Stephen.McConnell@lsi.com> MFC after: 3 days Tested by: Chris Reeves <chrisr@spectralogic.com> Sponsored by: LSI, Spectra Logic Relnotes: LSI 12Gb SAS driver mpr(4) added Notes: svn path=/head/; revision=265236