History log of /openbsd-src/sys/dev/ic/mpi.c (Results 176 – 200 of 226)
Revision Date Author Comments
# 44ec8394 30-Jun-2006 dlg <dlg@openbsd.org>

add mpi_inq. this is a custom io function that does an inquiry against
either a normal target, or against a physical disk using the raid passthru
command. it is necessary since the normal io path can

add mpi_inq. this is a custom io function that does an inquiry against
either a normal target, or against a physical disk using the raid passthru
command. it is necessary since the normal io path can only be used by the
midlayer, and only against normal targets. this will be used for ppr
against the disks in raid volumes on scsi controllers.

tested by marco@

show more ...


# 01ecf088 29-Jun-2006 dlg <dlg@openbsd.org>

split some fields up in the spi port and dev config pages. makes the ppr
code easier since we dont have to byteswap and shift stuff around so much.
no functional change though.


# 47a8549d 29-Jun-2006 dlg <dlg@openbsd.org>

theres a ton of 32bit fields in mpi messages that have subfields that lie
on byte boundaries. so rather than byteswappping and bitshifting the
values in these subfields around we can break them up in

theres a ton of 32bit fields in mpi messages that have subfields that lie
on byte boundaries. so rather than byteswappping and bitshifting the
values in these subfields around we can break them up into byte fields and
access them directly.

this breaks up the control field in the scsi io command.

show more ...


# cbffd705 19-Jun-2006 miod <miod@openbsd.org>

Everytime one forgets an argument in a printf-like function call, God kills
a kitten. Commiters, please think of the kittens when working on code.


# cc98c260 18-Jun-2006 marco <marco@openbsd.org>

Make mpi not spit out WWNN and WWPN as requested by deraadt and dlg. Do
store these values in the scsi_link structure for each device.

ok dlg.


# cd1b736f 18-Jun-2006 marco <marco@openbsd.org>

Don't walk memory whenever there is nothing there. I ran into this while
debugging FC stuff.


# 50083d53 18-Jun-2006 marco <marco@openbsd.org>

Print World Wide Node Name and World Wide Port Name during dmesg so that
we can actually find the drives on the fabric. Requested by kettenis krw
and brad.

ok dlg


# c429ac72 16-Jun-2006 dlg <dlg@openbsd.org>

vmware emulates mpi, but it does a half arsed job of it. half the fields
we read off the hardware and use to configure the driver with are set to
zero, so things dont really work like we want them to

vmware emulates mpi, but it does a half arsed job of it. half the fields
we read off the hardware and use to configure the driver with are set to
zero, so things dont really work like we want them to.

one of these fields is the pci subsystem id which is something we can fetch
really early in the attach process. so if the subsys is 0 then we go on and
fix up some of the values we get off the "hardware". now we can attach
disks on vmware.

"sneaky" and ok marco@ tested by and ok brad@

show more ...


# cb777b69 15-Jun-2006 marco <marco@openbsd.org>

Add detection of RAID volume during PPR. Doesn't fan out the ppr to individual
devices yet.


# d0161c0f 15-Jun-2006 marco <marco@openbsd.org>

Add IOC page 3 support. Needed for RAID and bio.


# 3cdae03c 15-Jun-2006 marco <marco@openbsd.org>

Print volume details in debug.


# 343876ed 15-Jun-2006 marco <marco@openbsd.org>

And now without a buffer overflow. Pointed out by dlg. No cookie for me.


# 08494a45 15-Jun-2006 marco <marco@openbsd.org>

Add structures and initial code to retrieve IOC page 2. We need this for
RAID support and bio. "go at it" dlg


# 6428c561 15-Jun-2006 marco <marco@openbsd.org>

Print some useful error information during failure. We need this to be able
to diagnose field issues. Talked through with dlg.


# af2c36a0 13-Jun-2006 dlg <dlg@openbsd.org>

we sometimes bundle chunks that the ioc will write to in the request space
as well as the request itself, so we need to sync the memory in both
directions for dma.


# 26a8dcc1 12-Jun-2006 dlg <dlg@openbsd.org>

i stashed the dva and kva of each request space in its ccb, so why am i
recalculating them whenever i want to use them? shorten code a bit by using
the stored values.


# 19fb12a7 12-Jun-2006 dlg <dlg@openbsd.org>

fix sgl loading. there were a few issues, the main ones being:
- when the sgl grew too large it became bigger than the maximum frame size
that the ioc would deal with, and then it would just stop doi

fix sgl loading. there were a few issues, the main ones being:
- when the sgl grew too large it became bigger than the maximum frame size
that the ioc would deal with, and then it would just stop doing io. i was
using the wrong field from iocfacts to figure out how large an sgl should
be.
- chained sgls were broken cos i was including the current chain element in
the calculation of the offset to the next chain element.

big ok from marco@

show more ...


# c00bbc89 12-Jun-2006 dlg <dlg@openbsd.org>

reset the reply pointer to NULL every time we get a context reply in
mpi_interrupt and mpi_completion. if we got an address reply followed by a
context reply we used to pass that same reply to both c

reset the reply pointer to NULL every time we get a context reply in
mpi_interrupt and mpi_completion. if we got an address reply followed by a
context reply we used to pass that same reply to both completion routines.

show more ...


# 62ebb1fa 12-Jun-2006 dlg <dlg@openbsd.org>

white space fixes


# 465e56bf 12-Jun-2006 marco <marco@openbsd.org>

Initial version of dv for scsi. Work based on dlg's code.
ok dlg


# 4ea62cdd 10-Jun-2006 marco <marco@openbsd.org>

Make id in mpi_complete an unused value instead of random stack garbage.
This was causing the "empty portfacts" issue since the IOC wasn't complete
yet with the request however since the id would mat

Make id in mpi_complete an unused value instead of random stack garbage.
This was causing the "empty portfacts" issue since the IOC wasn't complete
yet with the request however since the id would match the requested id the
timeout was a terminal condition.

show more ...


# 925b3e6b 10-Jun-2006 dlg <dlg@openbsd.org>

if we're not reading a page then we're writing a page. stupid braino from
me pointed out by marco.


# 3829b3d1 10-Jun-2006 marco <marco@openbsd.org>

Redo debug prints to make it less loud and more granular.

ok dlg


# f7939e29 08-Jun-2006 dlg <dlg@openbsd.org>

unsigned long long -> u_int64_t


# a3bd562f 08-Jun-2006 dlg <dlg@openbsd.org>

dont panic on empty portfacts or portenable replies. we should probably
retry the init sequence if this happens.


12345678910