Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email email@example.com
CVS: cvs.openbsd.org: src
From: David Gwynne (dlgcvs.openbsd.org)
Date: Sun Mar 19 2006 - 05:53:24 CST
Module name: src
Changes by: dlgcvs.openbsd.org 2006/03/19 04:53:23
sys/dev/ic : ami.c amivar.h
this is a really large reworking of how ami works in terms of submitting
commands to the hardware and completing them.
previously the driver was very engineered toward moving io from the
logical disks scsi commands onto the hardware and off. as we built extra
functionality into the driver, this path grew more and more hairy as bits
were tacked on to cope.
this strips it back to dealing with getting the command onto the hardware
and off again. each path that submits commands now has to do all its work
before submitting the ccb, and supply a function for completing the ccb.
both the async and polled paths call the completion routines for commands
now. async commands that fail to get onto the hardware first go are stuck
on a queue and retried out of a timeout. previously this was only done for
scsi commands, now all paths take advantage of it.