Age | Commit message (Collapse) | Author |
|
`struct device' as its softc. This is not the case on loongson, and the
glxpcib softc gets subtly corrupted, causing a kernel panic when attempting
to select the glxpcib timecounter as the current timecounter.
Skirt this by not using the pcib softc fields if we are invoked from
glxpcib - it is not really worth putting pcib_softc in a header for the sake
of MI glxpcib code.
|
|
Fixes DMA problems spotted on the v445.
|
|
on the v445 (compared to the v215/v245). Generalize the code to allow for
arbitrary wirings. Makes the serial console on the v445 work.
|
|
|
|
Spotted by Artturi Alm. Thanks!
|
|
ieee80211_create_ibss() resets the set of supported rates but failed
to update the index into the rate set array accordingly. If the rate
configured during STA operation didn't belong to the newly configured
rate set the system ran into an assertion ("bogus xmit rate %u setup")
while trying to create the IBSS.
ok fgsch@
|
|
|
|
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.
|
|
|
|
less greedy pools are nicer pools.
|
|
|
|
still possible deadlock that can occur if a completion starts a polled
command.
|
|
of ccb lists.
|
|
|
|
|
|
from brad, ok jsg
|
|
diff originally by stsp@
"please commit it" deraadt@
"don't care" stsp@
"don't like" bluhm@
|
|
|
|
six years (since bioctl support was added).
ok krw@ dlg@
|
|
objects, inspired by NetBSD.
Discussed with kurt, kettenis, and millert.
ok kettenis
|
|
|
|
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 deraadt@
|
|
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@
|