| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
Spotted by Artturi Alm. Thanks!
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
these controllers let you specify disks that should be accessed directly
rather than be part of logical volumes. apparently you can plug in things
like tape drives too.
anyway, physical devices are exposed via a separate scsibus attached to
mfi.
ok mikeb@
|
| | |
|
| |
|
|
| |
ok miod
|
| |
|
|
| |
from brad, ok jsg
|
| | |
|
| |
|
|
| |
ccb_done.
|
| |
|
|
|
|
|
| |
timeouts. how embarrassment.
implement mfi_exec for doing sync executions of commands in process
contexts and cut mfi_mgmt over to it.
|
| |
|
|
|
|
|
| |
calling the done handler.
this makes it consistently complete scsi io with all the proper error
checking.
|
| |
|
|
| |
as the first argument to functions. like mfii.
|
| |
|
|
|
| |
on the free list. ccbs can be reused, so we dont want old state screwing up
new commands.
|
| |
|
|
| |
rather than put the code everywhere.
|
| | |
|
| | |
|
| |
|
|
|
| |
still possible deadlock that can occur if a completion starts a polled
command.
|
| |
|
|
| |
of ccb lists.
|
| | |
|
| |
|
|
| |
from brad, ok jsg
|
| |
|
|
|
|
| |
six years (since bioctl support was added).
ok krw@ dlg@
|
| | |
|
| |
|
|
|
|
| |
than snoop scsi commands and copy it in an io path.
no functional change, but the code has one less XXX now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
of its scsibus. only advertise 1 lun on logical volumes instead of letting
the midlayer fix it up to 8.
give every target on the bus max_cmds openings. iopools means they will
properly share access to them.
this in particular is useful on skinny controllers which only advertise 31
command slots. if you have 16 volumes, theyll only get 1 opening each with
the old maths. this way round the ones that are busy will share the slots.
tested on a perc5 with two volumes and hard workloads.
|
| | |
|
| |
|
|
|
| |
From Brad.
OK jsg@
|
| |
|
|
|
| |
like "Dell PERC 5/i" in dmesg. the firmware on the board knows its own name
so we can use that instead. saves some bytes in the kernel.
|
| |
|
|
| |
ok deraadt@
|
| |
|
|
|
|
| |
are.
noted by haesbaert@
|
| | |
|
| |
|
|
|
|
| |
transition_firmware into a member of the iop structures.
ok mikeb@ haesbaert@
|
| |
|
|
| |
ok by mikeb@ haesbaert@ deraadt@ matthew@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
after the ones currently supported by mfi(4).
mfii is to mfi what mpii is to mpi. it is also strange in that it reuses
bits of both mfi(4) and mpii(4) hardware structures. the register layout
is sort of like mfi, but the majority of the messaging (post and
completion paths) are like mpii. the new logical disk io message is
the same as the scsi io command in mpii with an extra raid context bit on
the end.
other operating systems have supported the new hardware in their existing
megaraid sas drivers by cutting them in half and using a metric buttload of
function pointers at pretty much every driver entry point to switch between
the non-fusion behaviour and the fusion behavior. the only really common
code seems to be the handling of the management commands before branching
off into the chip specific message handling to move it on and off the
hardware. i'll deal with abstracting the mgmt stuff out later.
this is working so im getting it in now to polish further in the tree.
ok by mikeb@ haesbaert@ deraadt@ matthew@
|
| |
|
|
|
|
|
|
|
| |
be reused by a driver for the recent megaraid sas fusion boards.
mikeb was also interested in doing this a while back to make working on
mpii.c easier.
ok by mikeb@ haesbaert@ deraadt@ matthew@
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
structures and use htole64 instead of htole32(addr >> 32); htole32(addr);
gets rid of "handy" stack variables to get the dva to 64bits.
sprinkle some more byte swaps for things that should have it.
tested on a perc5 (xscale)
|
| |
|
|
| |
tested on a perc5 (xscale)
|
| |
|
|
|
|
|
|
|
| |
descriptors with single uint64_ts. theyre not some weird middle
endian thing. this makes the code more readable.
add some missing htole32s to the code while here.
tested on a perc5 (xscale).
|
| |
|
|
| |
Tested by naddy@.
|
| |
|
|
|
|
|
|
| |
command used in ncq error recovery fails. Fixes 'ccb->ccb_xa.state ==
ATA_S_ONCHIP' assertion failures when talking to dying disks.
broken disk supplied by Aidan Rowe
ok dlg@
|
| |
|
|
|
| |
Chris Maxwell <chris ! maxwell () hootsuite.com>
ok jsg
|
| | |
|
| | |
|
| |
|
|
|
|
| |
endian. do appropriate byteswapping for when the host cpu uses them.
tested on a perc5 (xscale) in an amd64.
|
| |
|
|
|
|
|
|
| |
* call only for set translation on (once in /sys/dev/pckbd.c)
therefore we can delete unused code.
* change behavior (more standard) - return zero on success
ok miod@
|
| | |
|
| | |
|
| |
|
|
| |
Ok jsg@
|
| | |
|
| | |
|