summaryrefslogtreecommitdiffstats
path: root/drivers/message/fusion/mptsas.c
Commit message (Collapse)AuthorAgeFilesLines
...
* [SCSI] mptsas: Adding 1078 ROC supportEric Moore2006-06-281-7/+5
| | | | | | | | | | | | | * Adding 1078 ROC (Raid On Chip) Support - New host adapter * Moving all PCI Vendor/Device ids to using internal defines; a request from Christoph/James B. some time ago for when the next chip was added. * Removing SAS 1066/1066E Vendor/Device IDs, as there are no plans to manufacture that controller. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptsas: wide port supportEric Moore2006-06-281-271/+692
| | | | | | | | | | | | | | | | | | | | | | | | | * Wide port support added - using James Bottomley's new SAS wide port API. (There is a known problem in sas transport layer reported yesterday to James. The Kobject dev.bus_ids for end devices are not unique across expanders. I have added a work around in this patch, where I asigning an unique port identifier for every port within the host - this solves the problem, but I expect a fix from James in the sas transport). * Adding target_alloc and target_destroy entry points, and moving code over from the slave entry points. * The renaming of some mptscsih_xxx functions declared in mptsas.c, to mptsas_xxx. * Target Reset moved from slave_destroy to hotplug work thread handling (with regard to device removal). Also inhibit IO to end device while device is being broken down . Talked to James Smart about this at Linux Expo (with questions of how the fc transport handles this). * Cleaning up the kzalloc's, and kfree's Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptfusion: bug fix's for raid components adding/deletingMoore, Eric2006-04-251-28/+71
| | | | | | | | | | | | | | | This patch handles case where raid hidden components are not being removed when power turned off to device attached to expander, as well as the case of exposing raid components when power is turned back on to devices attached to an expander. (This is a repost of this patch, with mptsas_is_end_device declared further up in the code.) This patch contains some other miscellaneous bug fix's. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptfusion - fix panic in mptsas_slave_configureMoore, Eric2006-04-141-1/+9
| | | | | | | | | | | | | | | | Driver panic when RAID logical volume was present when driver loaded, or when a RAID logical volume was created on the fly. This issue was created in due to recent scsi_transport_sas change, when sas_read_port_mode_page was added into the mptsas drivers slave_config entry point. This new API expects that all sdev's to be assocated to an rphy, however that is not the case for logical volumes, as they are created using scsi_add_device, instead of sas_rphy_add(). Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] convert mptsas over to end_device/expander allocationsJames Bottomley2006-03-191-5/+40
| | | | | | | | The conversion of mptsas should allow the elimination of the contained flag in the sas transport class. Acked-by: "Moore, Eric" <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion - expander hotplug suport in mptsas moduleMoore, Eric2006-03-141-69/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for hot adding and removing expanders, and its associated attached devices. When there is a change in topology, the fusion firmware sends the MPI_EVENT_SAS_DISCOVERY event to the driver. The driver will read firmware config pages to determine what changes took place, and refresh drivers view of the world stored in ioc->sas_topology. Here is the details of the action the driver does: (1) Expander Added : The mptsas_discovery_work workqueue is called. Config pages read, and ioc->sas_topology is refreshed. The sas_phy_add() is called for each phy of the expander. The expanders attached devices are added via sas_rphy_add(). Added end devices are handled within the MPT_ADD_DEVICE logic in mptsas_hotplug_work workqueue. (2) Expander Delete : The sas_rphy_delete() will be called for the top most compenent of the parent that the expander is attached to. The sas_rphy_delete call will delete all the children phys, rphys, and end devices. This is handled from mptsas_discovery_work workqueue. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion - exposing raid components in mptsasMoore, Eric2006-03-141-26/+86
| | | | | | | | | | | | | | | | | Suppport for exposing hidden raid components for sg interface. The sdev->no_uld_attach flag will set set accordingly. The sas module supports adding/removing raid volumes using online storage management application interface. This patch rely's on patch's provided to me by Christoph Hellwig, that exports device_reprobe. I will post those patch's on behalf of Christoph. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion - memory leak, and initializing fieldsMoore, Eric2006-03-141-0/+11
| | | | | | | | | | | | Changelog: (1) fix memory leak: p->phy_info (2) initialize device_info and port_info data fields (3) initialize the hba firmware handle (4) initialize phy_id for attached phy_info data fields (5) initialize attached phy_info data fields Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion - exclosure misspelledMoore, Eric2006-03-141-2/+2
| | | | | | | exclosure should be enclosure Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion - cleanup mptsas event handling functionsMoore, Eric2006-03-141-39/+57
| | | | | | | Cleanup of mptsas firmware event handlers. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion - removing target_id/bus_id from the VirtDevice structureMoore, Eric2006-03-141-13/+11
| | | | | | | | | | | | | It makes no sense in keeping the target_id and bus_id in the VirtDevice structure, when it can be obtained from the VirtTarget structure. In addition, this patch fix's couple compilation bugs in mptfc.c when MPT_DEBUG_FC is enabled. This provided by Micheal Reed. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion - move some debug firmware event debug msgs to verbose levelMoore, Eric2006-03-141-1/+1
| | | | | | | | | | Created a debug level MPT_DEBUG_VERBOSE_EVENTS. Moving some of the more vebose debug messages for firwmare events into new debug level. Also added some more firmware events descriptions. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptsas: add support for enclosure and bay identifier attributesChristoph Hellwig2006-02-271-35/+161
| | | | | | | | | Adds support to retrieve the enclosure and bay identifiers. This patch is from Eric with minor modifications from me, rewritten from a buggy patch of mine, based on the earlier CSMI implementation from Eric.. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptsas: don't complain on bogus slave_alloc callsChristoph Hellwig2006-01-311-2/+1
| | | | | | | | | When people use the userspace scanning facilities on SAS hardware the LLDD gets bogus slave_alloc calls. Just fail those gracefully instead of printing a warning in mptsas and another one in the midlayer. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion: move sas persistent event handling over to the mptsas moduleMoore, Eric2006-01-311-0/+16
| | | | | | | | | This moves code intented for SAS from the generic mptscsih module over to the mptsas module. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion: target reset when drive is being removedMoore, Eric2006-01-311-1/+23
| | | | | | | | | | The issuing of the target reset used in device hot removal case so the firmware queue is flushed out off outstanding commands. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion: add support for raid hot add/del supportMoore, Eric2006-01-311-25/+173
| | | | | | | | | | | | | RAID event support. This will hot add and remove raid volumes when managment application creates and deletes the volumes. The driver is basically responding to firmware asyn events, and reporting the changes to the above layers. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion - adding raid support in mptsasMoore, Eric2006-01-141-1/+26
| | | | | | | The SAS RAID volumes are reported beyond the expected number of phys. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion: kzalloc / kcalloc conversionChristoph Hellwig2006-01-141-24/+11
| | | | | | | Convert kmalloc + memset to kzalloc or kcalloc in fusion. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion: convert semaphores to mutexesChristoph Hellwig2006-01-141-3/+3
| | | | | Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptsas: support basic hotplugChristoph Hellwig2006-01-141-31/+307
| | | | | | | | | | Adds hotplug support for SAS end devices. Unfortunately the fusion firmware doesn't generate similar events for expanders addition/removal so we can't support them yet. Eric has an idea about a clever scheme to find out about expander changes so that'll be added later on. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptfusion - mapping fixs required support for transport layers.Moore, Eric Dean2005-12-131-15/+22
| | | | | | | | | | | | | This utilizes the hostdata area that is hung off of scsi_target and scsi_device for saving unique firmware mapping. This will be required for supporting new Fibre and SPI transport support. This also fixs problems in error handling error code for SAS controllers, in which the incorrect mapping was passed to the firmware. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptfusion - cleaning up xxx_probe error handlingMoore, Eric Dean2005-12-131-7/+10
| | | | | | | | This cleans the returning failure conditions of the mptsas/mptfc/mptspi probe routines. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptfusion - adding = THIS_MODULEMoore, Eric Dean2005-12-131-0/+1
| | | | | Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptsas: white space fixes and version bumpChristoph Hellwig2005-10-281-8/+11
| | | | | | | | Various whitespace and comment fixes from Eric, aswell as a version bump. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptsas: add support for PHY resetsChristoph Hellwig2005-10-281-0/+88
| | | | | | | | Support PHY resets in mptsas. Thanks to Eric for various bug fixes and improvements. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] sas: add flag for locally attached PHYsChristoph Hellwig2005-10-281-3/+7
| | | | | | | | | | | Add a flag to mark a PHY as attached to the HBA as opposed to beeing on an expander. This is needed because various features are only supported on those. This is a crude hack, the proper fix would be to use different classes for host-attached vs expander phys. I'm looking into that. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] mptsas: support link error attributesChristoph Hellwig2005-10-281-73/+153
| | | | | | | | .. and the fusion part. I had to move around the debug functions around a little bit so they are below the transport class methods. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [PATCH] mptsas: fix phy identifiersEric Moore2005-10-211-4/+8
| | | | | | | | | This fixes handling of the phy identifiers in mptsas. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> [ split it a pre-2.6.14 portion from Eric's bigger patch ] Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [SCSI] fusion SAS support (mptsas driver) updatesMoore, Eric Dean2005-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary of Changes: * splitting mpt_interrupt per Christophs suggestion about a month ago * rename ScsiCfgData to SpiCfgData structure, then move all the raid related info into new structure called RaidCfgData. This is done because SAS supports RAID, as well as SPI, so the raid stuff should be seperate. * incorrect timeout calculation for cntdn inside WaitForDoorbellAck and WaitForDoortbellInt * add support for interpreting SAS Log Info * Increase Event Log Size from 0xA to 0x32 * Fix bug in mptsas/mptfc/mptspi - when controller has Initiator Mode Disabled, and only running in TargetMode, the mptctl would panic when loading. The fix is to return 0, instead of -ENODEV, in SCSI LLD respective probe routines * Fix bug in mptlan.c - driver will panic if there is host reset, due to dev being set to zero in mpt_lan_ioc_reset * Fix's for SPI - Echo Buffer * Several fix's in mptscsih_io_done - FCP Response info, RESIDUAL_MISMATCH, Data Underrun, etc. * Cleanup Error Handling - EH handlers, mptscsih_flush_cmds, and zeroing out ScsiLookup from mptscsih_qcmd * Cleanup asyn event handling from mptscsih -> mptscsih_event_process. Also added support for SAS Persistent Table Full, an asyn event Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] fusion SAS support (mptsas driver)Christoph Hellwig2005-09-191-0/+1235
Adds the actual mptsas driver, based upon the LSI driver with new work for SAS transport class integration from Eric Moore and me. This obviously depends on the SAS transport class. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>