| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
so hotplug can be more reliable too.
|
|
|
|
| |
actually break out once the loop has been up for that long.
|
| |
|
|
|
|
| |
and it always happens on 25xx controllers.
|
|
|
|
|
|
| |
for targets. With some combinations of controllers and targets, the loop
seems to bounce a bit, but with a short delay we can attach targets more
reliably.
|
|
|
|
| |
as part of processing port database changes.
|
|
|
|
| |
OK mpi@ deraadt@
|
|
|
|
|
|
| |
trying to talk to a Sun STK6140. Still doesn't work though.
ok dlg@
|
| |
|
|
|
|
|
|
|
|
| |
terminating entry, return all 8 bits of the scsi status code, only set
xs->resid on underruns (it's not defined for overruns), and simplify how
data segment lists are constructed.
with lots of help from and ok dlg@
|
|
|
|
|
|
|
| |
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
interrupt context to a taskq running in a thread. however, there
is a concern that if we do that then we allow accidental use of
sleeping APIs in this work, which will make it harder to move the
work back to interrupts in the future.
guenther and kettenis came up with the idea of marking a proc with
CANTSLEEP which the sleep paths can check and panic on.
this builds on that so you create taskqs that run with CANTSLEEP
set except when they need to sleep for more tasks to run.
the taskq_create api is changed to take a flags argument so users
can specify CANTSLEEP. MPSAFE is also passed via this flags field
now. this means archs that defined IPL_MPSAFE to 0 can now create
mpsafe taskqs too.
lots of discussion at s2k15
ok guenther@ miod@ mpi@ tedu@ pelikan@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
| |
CIRCLEQ_* is deprecated and not called in the tree. The other queue types
have *_END macros which were added for symmetry with CIRCLEQ_END. They are
defined as NULL. There's no reason to keep the other *_END macro calls.
ok millert@
|
|
|
|
| |
ok tedu
|
|
|
|
| |
after discussions with beck deraadt kettenis.
|
|
|
|
|
|
|
| |
there to our port lists, then find the next available loop id and carry on
rather than restarting. This way, we're less likely to get stuck looping
when the firmware behaves inconsistently. We also don't need to treat domain
controller logins specially.
|
|
|
|
|
|
| |
to a port, restart the update process to keep things in sync. Domain
controller logins get special handling here because they don't show up in the
list of logged in ports.
|
|
|
|
|
| |
we think might have changed, since the update steps depend on each other
too much for that to really work anyway.
|
|
|
|
|
|
|
|
| |
loop ports and other fabric ports that have logged in to us, and check
that we're still logged in to other fabric ports. Rearrange the update
processing loop so we attach and detach targets last, since we need to get
all the way through before we've identified what's gone missing. Handle
fabric port login errors a bit more usefully too.
|
|
|
|
| |
comes back, so later on we can work out what to do when logins fail
|
|
|
|
| |
interrupt, as done in qla(4).
|
|
|
|
| |
reliably tell when we've been through the whole list.
|
|
|
|
|
| |
Simplifies things a bit and makes pre- and post- attach operations work
the same.
|
|
|
|
| |
Fix some parameters and wording too.
|
|
|
|
|
|
| |
u_int32_ts rather than u_int64_ts.
ok jmatthew@
|
|
|
|
|
|
| |
errors which may have affected operation on BE archs.
ok jmatthew@
|
|
|
|
| |
ok jmatthew@
|
|
|
|
| |
ok jmatthew@
|
|
|
|
|
|
|
|
|
|
| |
being 4 byte aligned.
rewrite qle_put_data_seg so it takes an address and length rather than
a dma descriptor so it can be used to write sges for arbitrary things
rather than just dmamaps. use it to write out all sges.
ok jmatthew@
|
|
|
|
|
| |
Requested by miod@ (since xbow(4) on sgi secretly modifies the string behind
out back when interrupts get established).
|
|
|
|
| |
some missing format arguments pointed out by jsg@
|
|
|
|
|
| |
the chip already has firmware before trying to boot it, so we can explain
why it's not working rather than printing cryptic errors.
|
|
|
|
|
|
| |
attributes.
ok dlg@, jmatthew@
|
|
|
|
| |
else bringing it in. Found out the hard way by florian@
|
|
|
|
|
|
| |
handle it.
ok jmatthew@
|
|
|
|
|
|
|
|
|
| |
break if we've already handled the queue rather than printf something.
complete all the pending entries before posting what we've done instead
of after each entry.
ok jmatthew@
|
|
|
|
| |
ok jmatthew@
|
|
|
|
|
|
| |
xname lookup by hand. for consistency.
ok jmatthew@
|
|
|
|
|
|
|
| |
do the maths for getting the different offset for 24xx and 25xx
once in attach rather than on every read and write.
ok jmatthew@
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
we drive the card.
tested with a card supplied by Mark Greenway at UQ.
|
|
While this looks a lot like qla(4), there were a lot of minor changes between
the 23xx and 24xx generations that mean that there isn't really all that much
shared code.
|