summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_sas.h
Commit message (Collapse)AuthorAgeFilesLines
* [SCSI] megaraid_sas: Fix synchronization problem between sysPD IO path and ↵Sumit.Saxena@lsi.com2013-10-251-0/+1
| | | | | | | | | | | | | | | | | | | | | AEN path There is syncronization problem between sysPD IO path and AEN path. Driver maintains instance->pd_list[] array, which will get updated(by calling function megasas_get_pd_list[]), whenever any of below events occurs- MR_EVT_PD_INSERTED MR_EVT_PD_REMOVED MR_EVT_CTRL_HOST_BUS_SCAN_REQUESTED MR_EVT_FOREIGN_CFG_IMPORTED At same time running sysPD IO will be accessing the same array instance->pd_list[], which is getting updated in AEN path, because of this IO may not get correct PD info from instance->pd_list[] array. Signed-off-by: Adam Radford <adam.radford@lsi.com> Signed-off-by: Sumit Saxena <sumit.saxena@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: addded support for big endian architectureSumit.Saxena@lsi.com2013-09-101-15/+64
| | | | | | | | | | | | | | This patch will add big endian architecture support to megaraid_sas driver. The support added is for LSI MegaRAID all generation controllers- (3Gb/s, 6Gb/s and 12 Gb/s controllers). We have done basic sanity test @ppc64 arch and @x86_64. Additional testing/observations are welcome. [jejb: fix up rejections] Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: Sumit Saxena <sumit.saxena@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Version and Changelog updateadam radford2013-09-061-3/+3
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add High Availability clustering support using shared ↵adam radford2013-09-061-1/+31
| | | | | | | Logical Disks Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Changelog and driver version updateSumit.Saxena@lsi.com2013-06-241-3/+3
| | | | | | Signed-off-by: Sumit Saxena <sumit.saxena@lsi.com> Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add support to differentiate between iMR vs MR FirmwareSumit.Saxena@lsi.com2013-06-241-0/+1
| | | | | | | | | Add support to differentiate between iMR(no external memory) and MR(with external memory) controllers. Signed-off-by: Sumit Saxena <sumit.saxena@lsi.com> Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add support for Uneven Span PRL11Sumit.Saxena@lsi.com2013-06-241-1/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MegaRAID older Firmware does not support uneven span configuration for PRL11. E.g User wants to create 34 Driver PRL11 config, it was not possible using old firmware, since it was not supported configuration in old firmware Old Firmware expect even number of Drives in each span and same number of physical drives at each span. Considering above design, 17 Drives at Span-0 and 17 drives at span-1 was not possible. Now, using this new feature Firmware and Driver both required changes. New Firmware can allow user to create 16 Drives at span-0 and 18 Drives at span-1. This will allow user to create 34 Drives Uneven span PRL11. RAID map is interface between Driver and FW to fetch all required fields(attributes) for each Virtual Drives. Since legacy RAID map consider Even Span design, there was no place to keep Uneven span information in existing Raid map. Because of this limitation, for Uneven span VD, driver can not use RAID map. This patch address the changes required in Driver to support Uneven span PRL11 support. 1. Driver will find if Firmware has UnevenSpanSupport or not by reading Controller Info. 2. If Firmware has UnvenSpan PRL11 support, then Driver will inform about its capability of handling UnevenSpan PRL11 to the firmware. 3. Driver will update its copy of span info on each time Raid map update is called. 4. Follow different IO path if it is Uneven Span. (For Uneven Span, Driver uses Span Set info to find relavent fields for that particular Virtual Disk) More verbose prints will be available by setting "SPAN_DEBUG" to 1 at compilation time. Signed-off-by: Sumit Saxena <sumit.saxena@lsi.com> Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add support for Extended MSI-x vectors for 12Gb/s ↵Sumit.Saxena@lsi.com2013-06-241-5/+20
| | | | | | | | | | | | controller This Driver will use more than 8 MSI-x support provided by Invader/Fury max upto 128 MSI-x. [jejb: fix checkpatch warning] Signed-off-by: Sumit Saxena <sumit.saxena@lsi.com> Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add support to display Customer branding details in syslogSumit.Saxena@lsi.com2013-06-241-0/+26
| | | | | | Signed-off-by: Sumit Saxena <sumit.saxena@lsi.com> Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add support for MegaRAID Fury (device ID-0x005f) 12Gb/s ↵Sumit.Saxena@lsi.com2013-06-241-0/+1
| | | | | | | | controllers Signed-off-by: Sumit Saxena <sumit.saxena@lsi.com> Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Use correct #define for MSI-X capabilityBjorn Helgaas2013-04-181-3/+0
| | | | | | | | | | | Previously we used PCI_MSI_FLAGS to locate a register in the MSI-X capability. This did work because the MSI and MSI-X flags happen to be at the same offsets, but was confusing. PCI_MSIX_FLAGS_ENABLE is already defined in include/uapi/linux/pci_regs.h, so no need to define it again. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Adam Radford <aradford@gmail.com>
* [SCSI] megaraid_sas: Version and Changelog updateadam radford2013-02-221-3/+3
| | | | | | | | This patch updates the megaraid_sas driver version and updates Documentation/scsi/ChangeLog.megaraid_sas. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* megaraid: fix BUG_ON() from incorrect use of delayed workXiaotian Feng2012-12-041-1/+1
| | | | | | | | | | | | | | | | | | | megaraid use INIT_WORK to declare a hotplug_work, but cast the hotplug_work from work_struct to delayed_work and schedule_delayed_work on it. This is very dangerous, as other part of delayed_work might be kernel memories allocated by others. With commit 8852aac ("workqueue: mod_delayed_work_on() shouldn't queue timer on 0 delay"), schedule_delayed_work() will check dwork->timer before queue_work even when @delay is 0, this causes megaraid code to hit the BUG_ON() in workqueue code. Change megaraid code to use delayed work. Signed-off-by: Xiaotian Feng <dannyfeng@tencent.com> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Neela Syam Kolli <megaraidlinux@lsi.com> Cc: "James E.J. Bottomley" <JBottomley@parallels.com> Cc: linux-scsi@vger.kernel.org
* [SCSI] megaraid_sas: Version, Changelog, Copyright updateadam radford2012-10-091-4/+4
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Version and Changelog updateadam radford2012-08-241-3/+3
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add throttlequeuedepth module parameteradam radford2012-08-241-0/+2
| | | | | | | | This allows a user to adjust the queue depth of the adapter when throttled due to I/O timeout. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Version and Changelog updateadam radford2012-04-231-3/+3
| | | | | | | | The following patch for megaraid_sas updates the driver version to v00.00.06.15-rc1, and updates Documentation/scsi/ChangeLog.megaraid_sas. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Version and Changelog updateadam radford2012-01-161-3/+3
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: remove poll_mode_io codeadam radford2012-01-161-2/+0
| | | | | | | | | This code has never worked correctly, doesn't disable interrupts when set as a module parameter, doesn't disable interrupts when set after driver load time in sysfs node, etc. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Changelog and version updateadam radford2011-10-161-3/+3
| | | | | | | | The following patch for megaraid_sas updates the ChangeLog.megaraid_sas file and updates the driver version. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panicadam radford2011-10-161-0/+1
| | | | | | | | | | The following patch for megaraid_sas adds a driver workaround for PERC5/1068 based controller FW that keeps a command from the main kernel that the driver cannot cancel which was causing a kernel panic in shutdown of the kdump kernel. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue supportadam radford2011-10-161-2/+9
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllersadam radford2011-10-161-0/+2
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Increase default cmds per lun to 256adam radford2011-10-161-1/+1
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas Version to 5.40-rc1 and Changelog updateadam radford2011-07-271-3/+3
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Version and Changelog updateadam radford2011-05-241-3/+3
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <jbottomley@parallels.com>
* [SCSI] megaraid_sas: Check MFI_REG_STATE.fault.resetAdapteradam radford2011-05-241-2/+2
| | | | | | | | | The following patch for megaraid_sas fixes the function megasas_reset_fusion() and makes the reset code check MFI_REG_STATE.fault.resetAdapter. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <jbottomley@parallels.com>
* Fix common misspellingsLucas De Marchi2011-03-311-1/+1
| | | | | | Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
* [SCSI] megaraid_sas: Version and Changelog updateadam radford2011-02-281-3/+3
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Fix max_sectors for IEEE SGLadam radford2011-02-281-0/+1
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Fix probe_one to clear MSI-X flags in kdumpadam radford2011-02-281-0/+3
| | | | | | | | | The following patch for megaraid_sas fixes megasas_probe_one() to clear MSI-X flags in kdump when the 'reset_devices' kernel parameter is passed in. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Add 9565/9285 specific codeadam radford2010-12-221-8/+30
| | | | | | | This patch adds MegaRAID 9265/9285 (Device id 0x5b) specific code Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Add struct megasas_instance_template changesadam radford2010-12-221-0/+7
| | | | | | | | | | | | | | | | The following patch adds struct megasas_instance_template changes to the megaraid_sas driver, and changes all code to use the new instance entries: irqreturn_t (*service_isr )(int irq, void *devp); void (*tasklet)(unsigned long); u32 (*init_adapter)(struct megasas_instance *); u32 (*build_and_issue_cmd) (struct megasas_instance *, struct scsi_cmnd *); void (*issue_dcmd) (struct megasas_instance *instance, struct megasas_cmd *cmd); Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Use lowest memory bar for SR-IOV VF supportadam radford2010-12-221-0/+1
| | | | | | | | | The following patch modifies the megaraid_sas driver to select the lowest memory bar available so the driver will work in SR-IOV VF environments where the memory bar mapping changes. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Add MSI-X support and msix_disable module parameteradam radford2010-12-221-0/+3
| | | | | | | | This patch adds MSI-X support and 'msix_disable' module parameter to the megaraid_sas driver. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Update GPL headers.adam radford2010-12-211-7/+22
| | | | | | | This patch updates the GPL headers in megaraid_sas_base.c and megaraid_sas.h. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Version and documentation updateYang, Bo2010-10-261-3/+3
| | | | | Signed-off-by Bo Yang <bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Add input parameter for max_sectorsYang, Bo2010-10-261-0/+1
| | | | | | | | | Driver add the input parameters support for max_sectors for megaraid sas gen2 chip. Customer can set the max_sectors support to 1MB for gen2 chip during the driver load. Signed-off-by Bo Yang <bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Add Online Controller Reset to MegaRAID SAS drivebo yang2010-10-071-7/+81
| | | | | | | | | | | | | | | | | | | | | To add the Online controller reset support, driver need to do: a). reset the controller chips -- Xscale and Gen2 which will change the function calls and add the reset function related to this two chips. b). during the reset, driver will store the pending cmds which not returned by FW to driver's pending queue. Driver will re-issue those pending cmds again to FW after the OCR finished. c). In driver's timeout routine, driver will report to OS as reset. Also driver's queue routine will block the cmds until the OCR finished. d). in Driver's ISR routine, if driver get the FW state as state change, FW in Failure status and FW support online controller reset (OCR), driver will start to do the controller reset. e). In driver's IOCTL routine, the application cmds will wait for the OCR to finish, then issue the cmds to FW. Signed-off-by Bo Yang <bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: version and documentation updateYang, Bo2010-02-171-3/+3
| | | | | Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: add the logical drive list to driverYang, Bo2010-02-171-0/+30
| | | | | | | | | Driver issue the get ld list to fw to get the logic drive list. Driver will keep the logic drive list for the internal use after driver load. Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Update version number and documentationYang, Bo2009-10-291-3/+3
| | | | | Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Add the support for updating the OS after ↵Yang, Bo2009-10-291-0/+17
| | | | | | | | | | | | | | | | adding/removing the devices from FW Driver will update the OS devices after adding and deleting the device from FW. When driver receive add or delete AEN from FW, driver will send the DCMD cmd to get the System PD list from FW. Then driver will check if this device already in the OS: If add event and OS don't have the device (but it is in the list), driver add the device to OS, otherwise driver will not add. If remove event, driver will check the list, if is not in the list, but OS have the device, driver will remove the device. Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Fix the fix for fw hang caused by megaraid sas applicationYang, Bo2009-10-291-11/+14
| | | | | | | | | | | Add a lock to the skinny firmware initialisation sequence to prevent the two stage write being non atomic if multiple instances use it. Add a flag to the driver shutdown sequence to prevent aen ioctls being called after shutdown begins. Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: add the IEEE SGE support to SAS2 controllerYang, Bo2009-10-291-0/+9
| | | | | | | | To increase the performance, megaraid sas driver added the IEEE SGE support to support SAS2 controller. Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: allocate the application cmds to sas2 controllerYang, Bo2009-10-291-0/+1
| | | | | | | | MegaRAID SAS2 controller ioctl can't use 32 cmd for applications. Driver need to divide different number of cmds to IO and application. Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: infrastructure to get PDs from FWYang, Bo2009-10-291-2/+86
| | | | | | | | Add system PDs to OS. Driver implemented the get_pd_list function to get the system PD from FW. Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Add new megaraid SAS 2 controller support to the driverYang, Bo2009-10-291-0/+4
| | | | | | | | | Add the new megaraid sas 2 controller to the driver. megaraid sas2 is LSI next generation SAS products. driver add the interface to support this product. Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: Add poll mechanism to megaraid sas driverYang, Bo2009-10-291-0/+1
| | | | | | | | Add Poll_wait mechanism to SAS-2 MegaRAID SAS Linux driver. Driver will wakeup poll after the driver get event from MegaRAID SAS FW. Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
* [SCSI] megaraid_sas: version and Documentation UpdateYang, Bo2008-08-161-3/+3
| | | | | | Signed-off-by: Bo Yang <bo.yang@lsi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
OpenPOWER on IntegriCloud