aboutsummaryrefslogtreecommitdiff
path: root/drivers/message/fusion
AgeCommit message (Collapse)AuthorFilesLines
2007-02-02[SCSI] fusion - bump version - 3.04.04Eric Moore11-11/+13
bump version, and fix email addr for lsi support Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-02-02[SCSI] fusion - error handling bug fix'sEric Moore3-158/+153
misc error handling bug fix's - properly interpret iocstatus returned after task management request - clear tmState after a failed doorbell - cleanup mptscsih_taskmgmt_complete Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-02-02[SCSI] fusion - report wide port sas address's for hba physEric Moore1-22/+30
Return proper sas address to sas transport layer for parent phys that form a wide port. Current implementation returns a different address for each phy, incremented by one from the base address. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-02-02[SCSI] fusion - serialize target resets in mptsas.cEric Moore2-45/+281
Fusion firmware requires target reset following hotplug removal event, with purpose to flush target outstanding request in fw. Current implementation does the target resets from delayed work tasks, that in heavy load conditions, take too long to be invoked, resulting in command time outs This patch will issue target reset immediately from ISR context, and will queue remaining target resets to be issued after the previous one completes. The delayed work tasks are spawned during the target reset completion. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-02-02[SCSI] fusion - inactive raid support, and raid event bug fix'sEric Moore5-94/+510
inactive raid support, e.g. exposing hidden raid components belonging to a volume that are inactive. Also misc bug fix's for various raid asyn events. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-02-02[SCSI] fusion - iocstatus, loginfo, and event debug updatesEric Moore4-99/+587
various string updates for iocstatus, logingo, and fw asyn events. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-02-02[SCSI] fusion - added mptspi debugEric Moore3-8/+67
helpful debug for mptspi module Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-02-02[SCSI] fusion - move SPI API over to mptspi.cEric Moore2-285/+267
Move some functions that only apply to the mptspi module over from mptscsih.c Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-02-02[SCSI] fusion - Greater than 255 target and lun supportEric Moore9-477/+380
Add support for greater than 255 target and luns. Kill the hd->Target[] field, and change all references of bus_id/target_id, to channel/id. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-01-31Merge branch 'linus'James Bottomley11-34/+57
2007-01-27[SCSI] fusion: mpi header update - version 1.05.14Eric Moore7-180/+410
Here are the lastest mpi headers for mpt fusion driver, which defines the firmware to driver interface. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-01-13[SCSI] mptctl for mptsasDouglas Gilbert1-1/+1
This patch makes the mptctl pass through available if the mptsas driver is selected. Without this patch if mptsas is the only fusion driver chosen, then the mptctl is not presented as an option. smp_utils uses the mptctl driver to pass SAS SMP functions through a MPT SAS HBA. Signed-off-by: Douglas Gilbert <[email protected]> Acked-by: "Moore, Eric" <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-01-06[SCSI] fusion: bump versionEric Moore1-2/+2
bump version Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-01-06[SCSI] fusion: MODULE_VERSION supportEric Moore11-14/+22
* Add modinfo driver version support. * Change copyright year to 2007. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-01-06[SCSI] fusion: power pc and miscellaneous bug fixsEric Moore3-18/+22
* Endian fix's for warnings found in ppc environment. * Fix compile time warning when calling scsi_device_reprobe, where in newer kernels this API expects its return value to be examined. * Fix compile errors when debug messages are enabled. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-01-06[SCSI] fusion: fibre channel: return DID_ERROR for ↵Eric Moore1-0/+11
MPI_IOCSTATUS_SCSI_IOC_TERMINATED A repost of a patch forwarded by Mikael Reed from 2006-12-20. The fibre channel IOC may kill a request for a variety of reasons, some of which may be recovered by a retry, some of which are unlikely to be recovered. Return DID_ERROR instead of DID_RESET to permit retry of the command, just not an infinite number of them. Signed-off-by: Michael Reed <[email protected]> Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-12-07[PATCH] kernel-doc: fix fusion and i2o docsRandy Dunlap4-137/+151
Correct lots of typos, kernel-doc warnings, & kernel-doc usage in fusion and i2o drivers. Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-12-05Merge branch 'master' of ↵David Howells1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/infiniband/core/iwcm.c drivers/net/chelsio/cxgb2.c drivers/net/wireless/bcm43xx/bcm43xx_main.c drivers/net/wireless/prism54/islpci_eth.c drivers/usb/core/hub.h drivers/usb/input/hid-core.c net/core/netpoll.c Fix up merge failures with Linus's head and fix new compilation failures. Signed-Off-By: David Howells <[email protected]>
2006-11-30Fix typos in doc and commentsJan Engelhardt1-1/+1
Changes persistant -> persistent. www.dictionary.com does not know persistant (with an A), but should it be one of those things you can spell in more than one correct way, let me know. Signed-off-by: Jan Engelhardt <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2006-11-22WorkStruct: make allyesconfigDavid Howells4-34/+48
Fix up for make allyesconfig. Signed-Off-By: David Howells <[email protected]>
2006-10-25[SCSI] mptfc: stall eh handlers if resetting while rport blockedMichael Reed2-6/+87
Thanks to James Smart for the inspiration. Stall error handler if attempting recovery while an rport is blocked. This avoids device offline scenarios due to errors in the error handler. Also verify that VirtDevice is available before issuing scsi command. VirtDevice is removed when fc transport removes a target. See James Smart's patch of 08/17/2006 for greater detail. http://marc.theaimsgroup.com/?l=linux-scsi&m=115583213624803&w=2 Also bump version number per Eric's request. Signed-off-by: Michael Reed <[email protected]> Acked-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-10-05IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid Howells1-3/+2
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells <[email protected]> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
2006-09-26[SCSI] drivers/message/fusion/linux_compat.h Removal of old codeMichal Piotrowski1-9/+0
Signed-off-by: Michal Piotrowski <[email protected]> Acked-by: "Moore, Eric Dean" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-27[SCSI] scsi_transport_sas: remove local_attached flagJames Bottomley1-3/+8
This flag denotes local attachment of the phy. There are two problems with it: 1) It's actually redundant ... you can get the same information simply by seeing whether a host is the phys parent 2) we condition a lot of phy parameters on it on the false assumption that we can only control local phys. I'm wiring up phy resets in the aic94xx now, and it will be able to reset non-local phys as well. I fixed 2) by moving the local check into the reset and stats function of the mptsas, since that seems to be the only HBA that can't (currently) control non-local phys. Signed-off-by: James Bottomley <[email protected]>
2006-08-27Merge ../linux-2.6James Bottomley2-55/+38
2006-08-06[SCSI] mptfc: add additional fc transport attributesMichael Reed1-16/+84
Add host_supported_speeds, host_maxframe_size, host_speed, host_fabric_name, host_port_type, host_port_state, and host_symbolic_name transport attributes to fusion fibre channel. Signed-off-by: Michael Reed <[email protected]> Acked-by: Moore, Eric <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] mptfc: correct out of order event processingMichael Reed2-54/+34
This patch corrects a problem in mptfc which can result in targets being removed after executing an "lsiutil 99" reset of the fibre channel ports. The last rescan event was being processed before the setup reset work due to an inappropriate optimization in the event processing logic. Every rescan event is now queued for execution and the setup reset work now executes in the proper sequence. Signed-off-by: Michael Reed <[email protected]> Acked-by: Moore, Eric <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] mptfc: properly wait for firmware target discovery to completeMichael Reed1-1/+4
Based upon a conversation I had with LSI's fibre channel firmware guru, this patch adds another condition under which the driver waits for the firmware link initialization / target discovery to complete. Signed-off-by: Michael Reed <[email protected]> Acked-by: Moore, Eric <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-28[SCSI] mptsas: add parent port backlinkJames Bottomley1-2/+6
This takes advantage of the sas class backlink function to show which port on an expander is used to communicate with the parent. Signed-off-by: James Bottomley <[email protected]>
2006-07-13[SCSI] mptfusion: bump version to 3.04.01Eric Moore1-2/+2
bump version to 3.04.01 Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-13[SCSI] mptfusion: misc fix'sEric Moore9-49/+10
* removing obsolete 1066, 1066E from Kconfig * initializing aen_event_read_flag after host reset * remove oem references * remove obsolete mpt_pq_filter command line option Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-13[SCSI] mptfusion: firmware download boot fix'sEric Moore1-8/+18
Fix's to insure download boot could occur when either channel of 1030 is reset. Necessary in order for onboard controller in flashless environment to become operational. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-13[SCSI] mptfusion: task abort fix'sEric Moore2-18/+41
Fix's to insure proper status is returned to midlayer when a task abort failed to be aborted by controller firmware. Also sanity checks to prevent scsi cmd from being double completed during error recovery. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-13[SCSI] mptfusion: sas nexus loss supportEric Moore1-1/+18
sas nexus loss support for systems that suport failover. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-13[SCSI] mptfusion: sas loginfo updateEric Moore1-18/+36
Adding more sas loginfo strings. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-13[SCSI] mptfusion: mptctl panic when loadingEric Moore1-6/+6
Fix panic for when mptctl is loading at the same time when one of the fusion llds (mptsas/mptfc/mptspi) is loading. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-13[SCSI] mptfusion: sas enclosures with smart driveEric Moore2-0/+48
Adding support for sas enclosures with smart drives. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-12[SCSI] scsi_transport_sas: kill the use of channel James Bottomley2-36/+21
Using the port_id for the channel is completely unnecessary since the host_id/target_id are constructed to be globally unique. Also move the mptsas driver on to virtual channel 1 for its raid devices. Acked-by: "Moore, Eric" <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-09[SCSI] mptsas: use unnumbered port API and remove driver porttrackingEric Moore2-23/+16
This allows us to be rid of the machinery in mptsas for creating and tracking port numbers. Since mptsas is merely inventing the numbers, the SAS transport class may as well do it instead. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-07-03Merge ../scsi-misc-2.6James Bottomley15-490/+1211
Conflicts: drivers/scsi/nsp32.c drivers/scsi/pcmcia/nsp_cs.c Removal of randomness flag conflicts with SA_ -> IRQF_ global replacement. Signed-off-by: James Bottomley <[email protected]>
2006-07-02[PATCH] irq-flags: misc drivers: Use the new IRQF_ constantsThomas Gleixner1-1/+1
Signed-off-by: Thomas Gleixner <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-06-30[SCSI] mptsas: eliminate ghost devicesJames Bottomley2-0/+25
One of the current problems the mptsas driver has is that of "ghost" devices (these are devices the firmware reports as existing, but what they actually represent are the parents of a lower device), so for example in my dual expander configuration, three expanders actually show up, two for the real expanders but a third is created because the firmware reports that the lower expander also has another expander connected (which is simply the port going back to the upper expander). The attached patch eliminates all these ghosts by not allocating any devices for them if the SAS address is the SAS address of the parent. Signed-off-by: James Bottomley <[email protected]>
2006-06-30[SCSI] mptbase: mpt_interrupt should return IRQ_NONEEric Moore1-7/+8
The way mpt_interrupt() was coded, it was impossible for the unhandled interrupt detection logic to ever trigger. All interrupt handlers should return IRQ_NONE when they have nothing to do. Signed-off-by: Jan Beulich <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-06-30[SCSI] mptsas: make two functions staticEric Moore1-2/+2
Make two needlessly global functions static. Signed-off-by: Adrian Bunk <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-06-30Remove obsolete #include <linux/config.h>Jörn Engel2-2/+0
Signed-off-by: Jörn Engel <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2006-06-30typo fixes: occuring -> occurringAdrian Bunk1-1/+1
Signed-off-by: Adrian Bunk <[email protected]>
2006-06-28Merge ../linux-2.6/James Bottomley1-4/+2
Conflicts: drivers/scsi/aacraid/comminit.c Fixed up by removing the now renamed CONFIG_IOMMU option from aacraid Signed-off-by: James Bottomley <[email protected]>
2006-06-28[SCSI] mptsas: Adding 1078 ROC supportEric Moore5-38/+57
* 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 <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-06-28[SCSI] mptsas: wide port supportEric Moore3-274/+709
* 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 <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-06-28[SCSI] fusion : mpi header updateEric Moore9-173/+413
MPI Header Update Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>