freebsd-dev/sys/dev/mfi
Doug Ambrisko 5be25877a1 Add in a couple of things:
-	In the ioctl path let command get queued up and return
	when complete _without_ blocking the driving waiting for
	the response.  This way the driver doesn't "lock up" for
	~30s during a flash command.  Submitted by scottl.
      -	Add a guard so that if a DCMD of 0 is sent down the ioctl
	path don't send it to the controller.  Return with a
	status of OK.  This is a little strange since MegaCli
	doesn't seem to like something and will issue some DCMD
	of 0.  This doesn't happen under Linux.  So the emulation
	needs to be improved but I'm not sure what.  Another strange
	thing is that when a DCMD of 0 gets issued under i386 the
	controller returns OK but in amd64 the context is messed
	up.
      -	Add a guard so the context has to be with-in the legal
	limit so we get a reasonable error assertion versus random
	panic.

It's going to be a challenge to figure out why MegaCli is not totally
happy and then sends some bogus commands.  This means that flashing
firmware via the Linux tool won't work since it generates a DCMD of
0 when it should be opening the firmware for a flash update.  Without
this problem flashing works fine.  This means there is no publicly
available tool to upgrade the RAID firmware under FreeBSD right now.

I plan to MFC all of the mfi changes to 6.X shortly.  This might not
include the SCSI pass-through changes.

Submitted by:	scottl
Reviewed by:	scottl
MFC after:	3 days
2007-06-04 16:39:22 +00:00
..
mfi_cam.c Add the 'mfip' sub-driver for gaining SCSI-passthrough access to devices 2007-05-16 17:19:47 +00:00
mfi_debug.c - Add a command validator for use in debugging. 2006-10-16 04:18:38 +00:00
mfi_disk.c Collapse the mfi_ld object. Add an ioctl to help management apps map 2007-05-10 15:33:41 +00:00
mfi_ioctl.h Collapse the mfi_ld object. Add an ioctl to help management apps map 2007-05-10 15:33:41 +00:00
mfi_linux.c - Add in FreeBSD native ioctl that models the Linux version. 2006-11-14 16:48:00 +00:00
mfi_pci.c Collapse the mfi_ld object. Add an ioctl to help management apps map 2007-05-10 15:33:41 +00:00
mfi.c Add in a couple of things: 2007-06-04 16:39:22 +00:00
mfireg.h Catch up to driver changes required for the mfip sub-driver. 2007-05-16 17:23:36 +00:00
mfivar.h Add in a couple of things: 2007-06-04 16:39:22 +00:00