Commit Graph

101 Commits

Author SHA1 Message Date
Moore, Eric
f44e5461d9 [SCSI] fusion - exposing raid components in mptsas
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>
2006-03-14 14:35:01 -06:00
Moore, Eric
db9c9174e4 [SCSI] fusion - memory leak, and initializing fields
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>
2006-03-14 14:34:45 -06:00
Moore, Eric
52435430fc [SCSI] fusion - exclosure misspelled
exclosure should be enclosure

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-03-14 14:34:25 -06:00
Moore, Eric
4b766471e3 [SCSI] fusion - cleanup mptsas event handling functions
Cleanup of mptsas firmware event handlers.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-03-14 14:34:08 -06:00
Moore, Eric
914c2d8e59 [SCSI] fusion - removing target_id/bus_id from the VirtDevice structure
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>
2006-03-14 14:33:38 -06:00
Moore, Eric
c972c70fa0 [SCSI] fusion - static fix's
Patch previously provided from Adrian Bunk <bunk@stusta.de>,
moving some functions to static.  This is already in
the -mm tree.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-03-14 14:33:18 -06:00
Moore, Eric
3a892bef3f [SCSI] fusion - move some debug firmware event debug msgs to verbose level
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>
2006-03-14 14:27:43 -06:00
Moore, Eric
5bf52c4fda [SCSI] fusion - loginfo header update
This header is provided to better understand
loginfo codes returned by the mpt fusion firmware.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-03-14 14:27:21 -06:00
James Bottomley
ce313db240 [SCSI] mptscsih: remove unused page 1 setting function
It was actually rendered unused by the move to the spi transport
class, but never taken out.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-03-12 10:02:15 -06:00
James Bottomley
c92f222e1f [SCSI] mptspi: Add transport class Domain Validation
This is the first half of a patch to add the generic domain validation
to mptspi.  It also creates a secondary "virtual" channel for raid
component devices since these are now exported with no_uld_attach.

What Eric and I would have really liked is to export all physical
components on channel 0 and all raid components on channel 1.
Unfortunately, this would result in device renumbering on platforms with
mixed RAID/Physical devices which was considered unacceptable for
userland stability reasons.

Still to be done is to plug back the extra parameter setting and DV
pieces on reset and hotplug.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-03-01 09:44:04 -06:00
Christoph Hellwig
e3094447e0 [SCSI] mptsas: add support for enclosure and bay identifier attributes
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>
2006-02-27 22:55:12 -06:00
Adrian Bunk
03fbcbcd57 [SCSI] drivers/message/fusion/mptfc.c: make 2 functions static
This patch makes two needlessly global functions static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-27 22:55:06 -06:00
Moore, Eric
4f8d98abaf [SCSI] fusion - mptlan - remove wierd humor print
Removes wierd humor, and bad language printk in mptlan.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-27 22:55:04 -06:00
Moore, Eric
ea5a7a82f9 [SCSI] fusion - mptctl -adding asyn event notification support
Adding aen support.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-04 16:33:24 -06:00
Moore, Eric
946cbf040a [SCSI] fusion - mptctl -firmware download fix
Fix's firmware download ioctl to work with SAS.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-04 16:33:07 -06:00
Moore, Eric
592f9c2fc9 [SCSI] fusion - mptctl - backplane istwi fix
Moving the toolbox call from mptbase.c, over to
mptctl.c, and using the mptctl infastructure to issue
the call.  The existing code is hanging on certain HP platforms
when this ioctl is issued, and this patch fix's that.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-04 16:32:51 -06:00
Moore, Eric
5f07e2499d [SCSI] fusion - mptctl -sense width fix
Bug fix for correctly setting sense width
for the MPTCOMMAND ioctl.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-04 16:32:32 -06:00
Moore, Eric
5b5ef4f617 [SCSI] fusion - mptctl - Event Log Fix
Use the hard coded value MPTCTL_EVENT_LOG_SIZE to fix
bug where in certain cases, the ioc->eventLogSize was
initialized.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-04 16:32:18 -06:00
Moore, Eric
86a7dcaae9 [SCSI] fusion - mtctl - change to wait_event_timeout
Change from using wait_event_interruptible_timeout to
wait_event_timeout.  Also delete white space and duplicate
line of code.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-04 16:31:50 -06:00
Moore, Eric
9cc1cfbc67 [SCSI] fusion - mptctl - adding support for bus_type=SAS
Add bus_type recognization in ioctl path for SAS.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-04 16:31:29 -06:00
Moore, Eric
096f7a2a09 [SCSI] fusion - mptctl - MPTCOMMAND - adding function types.
This adds support for new function types in
the existing MPTCOMMAND ioctl.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-02-04 16:31:12 -06:00
Moore, Eric
2254c86db1 [SCSI] fusion: add message sanity check
This adds a sanity check in the interrupt routine
insures incoming message frames are a valid
message frames.

The code for setting 0xdeadbeaf in the freed message
frames, apparently was already submitted by Christoph
in previous patch submission.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:40:05 -06:00
Moore, Eric
a69ac32485 [SCSI] fusion: unloading the driver - only set asyn narrow for configured devices
This patch inhibits sending spi negotiation parameters
for non-configured devices from the slave_destroy function.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:40:04 -06:00
Moore, Eric
335a941244 [SCSI] fusion: unloading the driver results in panic - fix
The ioc->alt_ioc->alt_ioc pointer is not getting cleared
during driver unload time.   This dangling pointer
can result in panic in certain circumstances, such
as error recovery, or firmware download in flashless
environments. This only impacts dual functions controllers,
such as 1030. Please apply.

This patch also includes a small cosmetic name change
for mpt_spi_log_info.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:40:03 -06:00
Christoph Hellwig
23f236ed27 [SCSI] mptsas: don't complain on bogus slave_alloc calls
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>
2006-01-31 14:40:01 -06:00
Moore, Eric
9f63bb73eb [SCSI] fusion: add task managment response code info
Adding verbose message returned from firmware
when a task mangment request fails.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:40:00 -06:00
Christoph Hellwig
4ddce14e75 [SCSI] fusion: add MSI support
On Mon, Jan 16, 2006 at 06:53:24PM -0700, Moore, Eric wrote:
> Adding MSI support, and command line for enabling
> it.  By default, the command line option has MSI disabled.

mpt_msi_enable is initialized to 0 implicitly, no need to do that.  Also
replace if (mpt_msi_enable == 1) tests with just if (mpt_msi_enable).

Updated patch below:

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:59 -06:00
Moore, Eric
7e55147fe3 [SCSI] fusion: overrun tape fix
Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:58 -06:00
Moore, Eric
ece50914d5 [SCSI] fusion: add verbose messages for RAID actions
A customer request to send raid asyn actions
from firmware to the event syslog.  This shows
when raid volumes go degraded, or complete resync,
or volumes created/deleted, etc.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:56 -06:00
Moore, Eric
928496ac31 [SCSI] fusion: increase reply frame size from 0x40 to 0x50 bytes
Increasing the reply frame size by 16 bytes, to
be in sync with the other fusion drivers.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:55 -06:00
Christoph Hellwig
d66c7a0f46 [SCSI] fusion: setting timeouts in eh threads appropiatley for fc/sas/spi
On Mon, Jan 16, 2006 at 06:53:13PM -0700, Moore, Eric wrote:
> The task managment request timeout in the eh threads was set
> for U320 timing, which is between 2-5 seconds.
> This is too small for FC and SAS.
> According to the firmware engineers, Fibre needs to be 40 seconds
> and SAS needs to be 10 seconds.

The timeout selection should probably be done in a little helper instead
of duplicated in a few places.  Updated patch below.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:54 -06:00
Moore, Eric
432b4c8b44 [SCSI] fusion: mptsas, increase discovery timout to 300 seconds
Increase the port enable timeout only for SAS from 30 to 300 seconds.
A customer request for the handling large topologies.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:53 -06:00
Moore, Eric
d8e925dc88 [SCSI] fusion: spi bus reset when driver loads
This patch is for spi.  This issues bus reset when driver
loads. Handling cases when initator has negotiated for packetized,
and target negotiated for non-packetized; effectly this bus reset
is getting both target and initiator on the same sheet of music.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:51 -06:00
James Bottomley
663e1aa12f [SCSI] fusion: fix compile
The prior fusion patches moved an invocation of a function,
mptscsih_TMHandler(), static to mptscsih.c into mptsas.c

Make the function unstatic, move the header to mptscsih.h and export it.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:43 -06:00
Moore, Eric
fda4c2c8d0 [SCSI] fusion: bump version
Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:42 -06:00
Michael Reed
3bc7bf1d12 [SCSI] fusion: FC rport code fixes
This fix's problems with recent fc submission regarding
i/o being redirected to the wrong target.

Signed-off-by: Michael Reed <mdr@sgi.com>
Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-31 14:39:41 -06:00
Moore, Eric
79de278e86 [SCSI] fusion: move sas persistent event handling over to the mptsas module
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>
2006-01-31 14:39:39 -06:00
Moore, Eric
7d3eecf7b2 [SCSI] fusion: target reset when drive is being removed
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>
2006-01-31 14:39:38 -06:00
Moore, Eric
c73787eecd [SCSI] fusion: add support for raid hot add/del support
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>
2006-01-31 14:39:37 -06:00
Arjan van de Ven
858119e159 [PATCH] Unlinline a bunch of other functions
Remove the "inline" keyword from a bunch of big functions in the kernel with
the goal of shrinking it by 30kb to 40kb

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-14 18:27:06 -08:00
James Bottomley
3759b78849 [SCSI] mptfc: need to select transport attrs
Now that mptfc actually uses the transport class, it can't be built
without it.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-14 10:55:11 -06:00
Moore, Eric
569b11dcfa [SCSI] fusion - fix pci express bug
The fix is to write  'MPI_HIM_DIM' to the Host Interrupt Mask
register, when enabling interrupts.  Instead of the
tilde of MPI_HIM_RIM.

Apparently writing '1's to some of the reserved bits was causing
all the bits to go to `1`, which effectly disabled all interrupts.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-14 10:55:10 -06:00
Moore, Eric
4b915a7366 [SCSI] fusion - mpi header udpate
This updates mpi headers in fusion drivers to version 1.5.12.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-14 10:55:08 -06:00
Moore, Eric
816aa907b9 [SCSI] fusion - adding raid support in mptsas
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>
2006-01-14 10:55:06 -06:00
Moore, Eric
6d5b0c315e [SCSI] fusion - adding support for FC949ES
Add software recognition for the new LSI Logic Fibre Channel controller.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-14 10:55:04 -06:00
Michael Reed
05e8ec17f4 [SCSI] mptfusion - fc transport attributes
Signed-off-by: Michael Reed <mdr@sgi.com>
Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-14 10:55:02 -06:00
Christoph Hellwig
1ca00bb791 [SCSI] fusion: kzalloc / kcalloc conversion
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>
2006-01-14 10:54:58 -06:00
Christoph Hellwig
eeb846cefd [SCSI] fusion: convert semaphores to mutexes
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-01-14 10:54:57 -06:00
Christoph Hellwig
9a28f49adb [SCSI] mptsas: support basic hotplug
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>
2006-01-14 10:54:56 -06:00
Christoph Hellwig
7ff92053dd [PATCH] don't include ioctl32.h in drivers
These days ioctl32.h is only used for communication of fs/compat.c and
fs/compat_ioctl.c and doesn't contain anything of interest to drivers.

Remove inclusion in various drivers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-10 08:01:34 -08:00