History log of /openbsd-src/sys/dev/ic/mpi.c (Results 26 – 50 of 226)
Revision Date Author Comments
# 419292d6 04-May-2015 jsg <jsg@openbsd.org>

Fix some misuse of the | operator. In particular | has higher
precedence than ?:
ok guenther@ krw@ miod@


# 21dab745 14-Mar-2015 jsg <jsg@openbsd.org>

Remove some includes include-what-you-use claims don't
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.

ok tedu@ deraadt@


# e4195480 27-Jan-2015 dlg <dlg@openbsd.org>

remove the second void * argument on tasks.

when workqs were introduced, we provided a second argument so you
could pass a thing and some context to work on it in. there were
very few things that to

remove the second void * argument on tasks.

when workqs were introduced, we provided a second argument so you
could pass a thing and some context to work on it in. there were
very few things that took advantage of the second argument, so when
i introduced pools i suggested removing it. since tasks were meant
to replace workqs, it was requested that we keep the second argument
to make porting from workqs to tasks easier.

now that workqs are gone, i had a look at the use of the second
argument again and found only one good use of it (vdsp(4) on sparc64
if you're interested) and a tiny handful of questionable uses. the
vast majority of tasks only used a single argument. i have since
modified all tasks that used two args to only use one, so now we
can remove the second argument.

so this is a mechanical change. all tasks only passed NULL as their
second argument, so we can just remove it.

ok krw@

show more ...


# fcba1aba 17-Sep-2014 dlg <dlg@openbsd.org>

be less confusing to the compiler when setting up the sge.


# 9088d7a1 15-Sep-2014 dlg <dlg@openbsd.org>

mark the interrupt handler mpsafe, and drop the kernel lock in the scs_cmd
paths. take it again when going back to other parts of the kernel.

tested by and ok kettenis@


# 7f58a11f 14-Sep-2014 jsg <jsg@openbsd.org>

remove uneeded proc.h includes
ok mpi@ kspillner@


# 7a7c4774 03-Sep-2014 dlg <dlg@openbsd.org>

tasks dont need a mutex and a semaphore to protect against multiple uses
of the task structure like workq tasks did.

tested on an fc929


# 5c4f7fc5 01-Sep-2014 blambert <blambert@openbsd.org>

move mpi(4) from workq to taskq

ok dlg@


# 9f6fb5c7 13-Jul-2014 deraadt <deraadt@openbsd.org>

Some reallocarray() use; review Jean-Philippe Ouellet, patrick keshishian
ok tedu


# aa3cabd0 12-Jul-2014 tedu <tedu@openbsd.org>

add a size argument to free. will be used soon, but for now default to 0.
after discussions with beck deraadt kettenis.


# 723d731c 16-Apr-2014 dlg <dlg@openbsd.org>

print the board name and firmware revision like we do on mpii and
nvme and other stuff.


# 26d72f0a 25-Mar-2014 dlg <dlg@openbsd.org>

use lemtohXX and htolemXX as much as possible


# a01cfbd6 25-Mar-2014 dlg <dlg@openbsd.org>

when reading from the chip you use letoh32, not htole32.

jmatthew@ agrees with me


# 5406696d 24-Mar-2014 dlg <dlg@openbsd.org>

use htolemXX and lemtohXX in the scsi_cmd paths.

apart from the flags handling in sgls, this shrinks the io hot path
on sparc64 and powerpc a lot. its pretty much the same on
i386/amd64/alpha.


# 3480c703 24-Mar-2014 dlg <dlg@openbsd.org>

mpi scatter gather lists are 24 bytes long and next to each other in
memory. that means you cant do 8 byte loads and stores on the sg_addr
member cos it wont be 8 byte aligned half the time which mak

mpi scatter gather lists are 24 bytes long and next to each other in
memory. that means you cant do 8 byte loads and stores on the sg_addr
member cos it wont be 8 byte aligned half the time which makes
strict alignment archs (ie, the fun ones ones) upset.

annotate the sge as being 4 byte aligned. replace the sg_addr member
with sg_addr_lo and sg_addr_hi.

replace htole64 assignment of the sg addr with a wrapper that does
the right thing with a couple of htolem32 calls.

generated code shrinks again.

show more ...


# cedc83ef 24-Mar-2014 dlg <dlg@openbsd.org>

factor out the setting of the request context field so mpi_start does it
on behalf of all its callers.

use htolem32 and lemtoh32 to handle the message context.

both save bytes.


# be2f51d1 20-Jan-2014 dlg <dlg@openbsd.org>

bzero to memset


# 5933df26 20-Jan-2014 dlg <dlg@openbsd.org>

bcopy to memcpy


# 73500549 18-Jan-2013 dlg <dlg@openbsd.org>

data transfers suit STREAMING dma maps.


# a2e5ec15 17-Jan-2013 dlg <dlg@openbsd.org>

mikeb pointed at that the interrupt status register read in mpi_intr was
important, as per r1.167.


# 5d65ecc7 17-Jan-2013 dlg <dlg@openbsd.org>

we dont need to read the interrupt status register to know if we have
any work to do in the interrupt handler, or to clear it. the relevant bits
indicate whether there's work on the doorbell and clea

we dont need to read the interrupt status register to know if we have
any work to do in the interrupt handler, or to clear it. the relevant bits
indicate whether there's work on the doorbell and clear when there isnt.
we need to read the doorbell if there is work to do, so lets just go that
straight away anyway.

get rid of bus_space_barriers in the io path. barriers are for enforcing
ordering. the doorbell reads and writes dont depend on any other register
values so ordering isnt applicable here.

show more ...


# d8b070f2 17-Jan-2013 dlg <dlg@openbsd.org>

treat DVAs as 64bits all the time so we can avoid ugly casts and shifts in
the code.


# dc67a497 18-Sep-2012 dlg <dlg@openbsd.org>

several tweaks to make mpi(4) work for vmware emulated sas adapters.

1. vmware advertises more scsi targets than command slots, so the maths
we did for openings gave each target 0 openings. always a

several tweaks to make mpi(4) work for vmware emulated sas adapters.

1. vmware advertises more scsi targets than command slots, so the maths
we did for openings gave each target 0 openings. always advertise at least
16 openings.

2. if we cant configure the ATA queue depth, dont fail to attach the
controller whole.

finally, improve the error reporting during attach so its more obvious
where things fail.

mostly figured out by jmatthew@

show more ...


# 428caa9e 12-Sep-2012 haesbaert <haesbaert@openbsd.org>

Use sg_addr instead of sg_lo_addr, leftovers from last commit.

ok dlg


# a2d8877e 12-Sep-2012 haesbaert <haesbaert@openbsd.org>

Make sure we don't sleep on autoconf.

ok mikeb


12345678910