aboutsummaryrefslogtreecommitdiff
path: root/drivers/message/fusion
AgeCommit message (Collapse)AuthorFilesLines
2007-06-17[SCSI] mpt fusion: update MAINTAINERS (fusion part)Eric Moore11-11/+11
Update assocated fusion sources with new support email address. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-06-05[SCSI] fusion: fix for BZ 8426 - massive slowdown on SCSI CD/DVD driveDoug Chapman1-3/+5
Patch for: http://bugzilla.kernel.org/show_bug.cgi?id=8426 A recent code cleanup that moved code from mptscsih to mptspi inadvertently change the order some code was called. This caused a massive slowdown (of 150x to 300x) on the CD/DVD drive on the high-end HP Integrity servers. Signed-off-by: Doug Chapman <[email protected]> Acked-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-05-30[SCSI] Merge up to linux-2.6 headJames Bottomley2-5/+5
Conflicts: drivers/scsi/jazz_esp.c Same changes made by both SCSI and SPARC trees: problem with UTF-8 conversion in the copyright. Signed-off-by: James Bottomley <[email protected]>
2007-05-29[SCSI] fusion: convert to use the data buffer accessorsFUJITA Tomonori1-59/+19
- remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori <[email protected]> Acked-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-05-22[SCSI] fusion: Fix |/|| confusionDave Jones2-5/+5
There are several cases where the fusion driver uses the logical || to try to do an arithmetical or ... fix by replacing with |. Signed-off-by: Dave Jones <[email protected]> Acked-by: "Moore, Eric" <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-05-10[S390] Kconfig: refine depends statements.Martin Schwidefsky1-0/+1
Refine some depends statements to limit their visibility to the environments that are actually supported. Signed-off-by: Martin Schwidefsky <[email protected]>
2007-05-09misc doc and kconfig typosMatt LaPlante1-1/+1
Fix various typos in kernel docs and Kconfigs, 2.6.21-rc4. Signed-off-by: Matt LaPlante <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2007-05-09Fix occurrences of "the the "Michael Opdenacker1-1/+1
Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2007-05-05Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6Linus Torvalds4-48/+51
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (87 commits) [SCSI] fusion: fix domain validation loops [SCSI] qla2xxx: fix regression on sparc64 [SCSI] modalias for scsi devices [SCSI] sg: cap reserved_size values at max_sectors [SCSI] BusLogic: stop using check_region [SCSI] tgt: fix rdma transfer bugs [SCSI] aacraid: fix aacraid not finding device [SCSI] aacraid: Correct SMC products in aacraid.txt [SCSI] scsi_error.c: Add EH Start Unit retry [SCSI] aacraid: [Fastboot] Panics for AACRAID driver during 'insmod' for kexec test. [SCSI] ipr: Driver version to 2.3.2 [SCSI] ipr: Faster sg list fetch [SCSI] ipr: Return better qc_issue errors [SCSI] ipr: Disrupt device error [SCSI] ipr: Improve async error logging level control [SCSI] ipr: PCI unblock config access fix [SCSI] ipr: Fix for oops following SATA request sense [SCSI] ipr: Log error for SAS dual path switch [SCSI] ipr: Enable logging of debug error data for all devices [SCSI] ipr: Add new PCI-E IDs to device table ...
2007-04-30[SCSI] fusion: fix domain validation loopsEric Moore2-2/+22
After host reset, the device are programmed to default asyn narrow nego. We need to reprogram the parameter back to previous values. If the host reset is called as a result of spi_dv_device() commands timing out, its possible to get into an infinite loop of dv to host reset. This will prevent that case, as we merely program old values. If host reset is called outside context of domain validation, then we can call spi_dv_device. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-04-25[SK_BUFF]: Introduce skb_copy_from_linear_data{_offset}Arnaldo Carvalho de Melo1-3/+3
To clearly state the intent of copying from linear sk_buffs, _offset being a overly long variant but interesting for the sake of saving some bytes. Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2007-04-25[SK_BUFF]: Introduce skb_mac_header()Arnaldo Carvalho de Melo1-12/+14
For the places where we need a pointer to the mac header, it is still legal to touch skb->mac.raw directly if just adding to, subtracting from or setting it to another layer header. This one also converts some more cases to skb_reset_mac_header() that my regex missed as it had no spaces before nor after '=', ugh. Signed-off-by: Arnaldo Carvalho de Melo <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2007-04-25[SK_BUFF]: Introduce skb_reset_mac_header(skb)Arnaldo Carvalho de Melo1-2/+2
For the common, open coded 'skb->mac.raw = skb->data' operation, so that we can later turn skb->mac.raw into a offset, reducing the size of struct sk_buff in 64bit land while possibly keeping it as a pointer on 32bit. This one touches just the most simple case, next will handle the slightly more "complex" cases. Signed-off-by: Arnaldo Carvalho de Melo <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2007-04-01[SCSI] fusion: make mptspi_target_destroy() staticAdrian Bunk1-1/+1
Signed-off-by: Adrian Bunk <[email protected]> Acked-by: Eric Moore <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-03-20[SCSI] fusion: remove VMWare guest OS remounted as read only work aroundEric Moore1-4/+1
This address the issue of VMWare guest OS being remounted as read-only becuase the underlying device was held busy too long and at the same time address Engenio MPP driver concerns over infinite retries. This patch removes the code that snoops the SAM STATUS on busy, which would be returning DID_BUS_BUSY, instead we return the status as is. Retry hanlding seems to be properly handled in scsi_softirq_done, where a busy sam status would only occurr for the time specified by (cmd->allowed +1) * cmd->timeout_per_command. Signed-off-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-03-20[SCSI] fusion: honour return value of pci_enable_device() in mpt_resume()Horms2-3/+5
Honour the return value of pci_enable_device(), which seems to be a desirable thing to do: 2.6.20-rc4 gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) CC [M] drivers/message/fusion/mptbase.o drivers/message/fusion/mptbase.c: In function `mpt_resume': drivers/message/fusion/mptbase.c:1541: warning: ignoring return value of `pci_enable_device', declared with attribute warn_unused_result It also in turn has mptscsih_resume() honour the return value of mpt_resume() I'm not sure about the handling of the other potential error cases in mpt_resume(), of which there appear to be many. But this does seem to be a good start. Signed-off-by: Simon Horman <[email protected]> Acked-by: "Moore, Eric" <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-03-20[SCSI] fusion: remove unnecessary code in mptscsih_resume()Horms1-12/+0
It seems that most of the code in mptscsih_resume() doesn't do anything. This patch removes that code. Signed-off-by: Simon Horman <[email protected]> Acked-by: "Moore, Eric" <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-03-20[SCSI] fusion: kernel-doc warning fixesRandy Dunlap3-26/+22
Fix kernel-doc warnings in fusion driver code. Signed-off-by: Randy Dunlap <[email protected]> Acked-by: "Moore, Eric" <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-03-11[SCSI] mptsas: Fix oops for insmod during kexecJudith Lebzelter1-2/+5
This fix's an oops during driver load time. mptsas_probe calls mpt_attach(over in mptbase.c). Inside that call, we read some manufacturing config pages to setup some defaults. While reading the config pages, the firmware doesn't complete the reply in time, and we have a timeout. The timeout results in hardreset handler being called. The hardreset handler calls all the fusion upper layer driver reset callback handlers. The mptsas_ioc_reset function is the callback handler in mptsas.c. So where I'm getting to, is mptsas_ioc_reset is getting called before scsi_host_alloc is called, and the pointer ioc->sh is NULL as well as the hostdata. Signed-off-by: Judith Lebzelter <[email protected]> Acked-by: "Moore, Eric" <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2007-02-14[PATCH] remove many unneeded #includes of sched.hTim Schmielau4-4/+1
After Al Viro (finally) succeeded in removing the sched.h #include in module.h recently, it makes sense again to remove other superfluous sched.h includes. There are quite a lot of files which include it but don't actually need anything defined in there. Presumably these includes were once needed for macros that used to live in sched.h, but moved to other header files in the course of cleaning it up. To ease the pain, this time I did not fiddle with any header files and only removed #includes from .c-files, which tend to cause less trouble. Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha, arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig, allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all configs in arch/arm/configs on arm. I also checked that no new warnings were introduced by the patch (actually, some warnings are removed that were emitted by unnecessarily included header files). Signed-off-by: Tim Schmielau <[email protected]> Acked-by: Russell King <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2007-02-12[PATCH] mark struct file_operations const 4Arjan van de Ven1-1/+1
Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. [[email protected]: dvb fix] Signed-off-by: Arjan van de Ven <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
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]>