| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
and bump the driver version from 2 to 3 and fix the related style problem.
Suggested by: LSI
|
|
|
|
|
|
|
|
| |
cards only apply to Dell. This gets rid of the duplicate
catch-all that I introduced that jkim caught.
Prompted by: jkim
Reviewed by: jkim
|
|
|
|
| |
Submitted by: LSI
|
|
|
|
|
| |
Submitted by: LSI
MFC after: 3 days
|
|
|
|
|
|
|
| |
maximum number of scatter/gather elements supported in the bus dma tag.
Reviewed by: scottl
MFC after: 1 week
|
|
|
|
| |
Pointed out by: Andrzej
|
|
|
|
| |
are zero for the copyout. Confirmed by LSI.
|
|
|
|
|
| |
Submitted by: LSI
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix to ioctl path in which the length could be 0 which means
no data in/out from LSI.
- Fix to ioctl path in which the data in the sense data space
of the ioctl packet is a really a pointer to some location in
user-space. From LSI re-worked a bit by me.
- Add HW support for next gen cards from LSI.
Thanks to LSI for their support!
Submitted by: jhb, LSI
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Each log entry contains a text description in the "description" field of
the entry. The existing decode logic always ended up duplicating
information that was already in the description string. This made the
logs overly verbose. Now we just print out the description string.
- Add some simple parsing of the timestamp and event classes.
Reviewed by: ambrisko, scottl
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fetch events from the controller in batches of 15 rather than a single
event at a time.
- When fetching events from the controller, honor the event class and
locale settings (via hw.mfi tunables). This also allows the firmware to
skip over unwanted log entries resulting in fewer requests to the
controller if there many unwanted log entries since the last clean
shutdown.
- Don't drop the driver mutex while decoding an event.
- If we get an error other than MFI_STAT_NOT_FOUND (basically EOF for
hitting the end of the event log) then emit a warning and bail on
processing further log entries.
Reviewed by: ambrisko, scottl
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
| |
on amd64. Note the only difference is the iovec32 part so I use the
native structure for everything else.
Also I plan to MFC all the changes in -current to 7-stable and 6-stable
shortly since I've been running them. This does not include the cam
changes.
MFC after: 3 days
|
|
|
|
| |
results in hung i/o if more than 128 commands are scheduled for an array.
|
|
|
|
|
|
|
| |
better grep-compliance and to standardize with the rest of the kernel.
Reviewed by: jhb
MFC after: 1 week
|
|
|
|
|
| |
node or directly open mfi0 and specify the card you want to talk to
in the ioctl.
|
|
|
|
|
|
|
|
|
| |
down some DCMD's without any data. Thanks to Dell and LSI for helping
to provide clues to figure out this problem. Now MegaCli can upgrade
the firmware and should work identical when run on Linux.
Reviewed by: scottl, LSI
MFC after: 1 day
|
|
|
|
| |
vendor id's.
|
|
|
|
|
|
| |
is actually a circular log. Deal with it rolling around. Fortunately,
the log area is big and I haven't seen any roll over yet. Update and
get rid of the obsolete comment.
|
| |
|
|
|
|
|
|
|
|
| |
includes the upcoming Dell PERC6 series. Many thanks to LSI for
contributing this code.
Submitted by: LSI
Approved by: re
|
|
|
|
|
|
|
|
|
|
| |
- Don't leak the config lock if detach() fails due to the controller char
dev being open.
- Close a race between detach() and a process opening the controller char
dev.
MFC after: 1 week
Approved by: re (bmah)
|
|
|
|
|
|
|
|
| |
applications to add and remove volumes.
MFC after: 1 week
Approved by: re (bmah)
Reviewed by: ambrisko, scottl
|
|
|
|
|
|
|
| |
now takes a device_t to be the parent of the bus that is being created.
Most SIMs have been updated with a reasonable argument, but a few exceptions
just pass NULL for now. This argument isn't used yet and the newbus
integration likely won't be ready until after 7.0-RELEASE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
| |
on an MFI controller.
|
|
|
|
| |
array Id's to FreeBSD device names.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many
Approved by: re@
|
| |
|
|
|
|
|
| |
Obtained from: LSI Corp.
MFC After: 3 days
|
|
|
|
| |
Submitted by: Doug Ambrisko
|
|
|
|
| |
unsafe flags to leak from one command to another.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) s/mi/mfi/ in FreeBSD ioctl path
2) add in "\n" on various failure messages
3) cap the length of time to abort an AEN command
4) fix passing sense data back to user to make Dell's Linux firmware
upgrade tool happy.
5) bump the MFI_POLL_TIMEOUT_SECS from 10s to 50s since the
firmware flash command can take ~40s to return.
This is some clean-up and enables RAID firmware to updated via Dell's
tool. Note Dell's tool requires the updates to the Linux emulator
that has been done in -current with TLS etc.
I need to discuss with scottl how to better submit mfi commands to
the firmware via the ioctl path so we don't do it in polled mode.
|
|
|
|
|
|
|
|
|
| |
after calling mfi_mapcmd is no longer needed, so long as the MFI_CMD_POLLED
flag is set. This change eliminates the possibility of a polled command
getting posted twice to the driver. This is turn fixes panics on shutdown
when INVARIANTS is set.
Sponsored by: Ironport
|
|
|
|
|
|
|
|
| |
- Add a translation so the Linux ioctl's don't conflict with
the FreeBSD definition.
- Assume Linux 32bit emulation on amd64.
This was tested on i386 and amd64 with the 32bit Linux MegaCli.
Eventually we should do a 32bit native FreeBSD translation app.
|
| |
|
|
|
|
|
|
|
|
| |
- Fix the locking protocol to eliminate races between normal I/O and AENs.
- Various small improvements and usability tweaks.
Sponsored by: IronPort
Portions Submitted by: Doug Ambrisko
|
|
|
|
| |
Submitted by: Doug Ambrisko
|
| |
|
|
|
|
| |
Sponsored by: IronPort
|
|
|
|
|
| |
If an event doesn't match the criteria then don't print it. Some
events are not saved in the log (<0 class events).
|
|
|
|
| |
confusing issues.
|
|
|
|
| |
events.
|
|
|
|
|
|
|
|
|
| |
AEN. This makes the boot messages cleaner. I now know how this
structure works so I can implement it versus guessing. Remove the
not ready type code since it is ready now.
I added the time stamp/locale/class so people can parse messages better.
Create a sysctl so that we can set the locale/class level.
|
| |
|
|
|
|
|
|
| |
potential boot disks during the probe so they are read for mount root.
Reviewed by: ps, scottl
|
|
|
|
|
| |
release a command if one was allocated.
Also release the command in mfi_shutdown.
|
|
|
|
|
|
| |
commands to grab the device listing. This resolves issues using
multiple volumes, where each volume was actually internally pointing
to target 0.
|
|
|
|
|
| |
command to signify it is being polled and expecting data to be dma'd
from the card.
|