Commit Graph

20 Commits

Author SHA1 Message Date
thorpej 544359b9a2 - Make CCB allocation slightly more efficient by changing how the
CCB is returned to the caller.
- Make code paths that can use twe_ccb_alloc_wait() use it, and assert
  that a CCB is always returned from that function.
- Assert that a CCB is always returned when allocating the reserved CCB
  for an AEN fetch.
2003-09-23 23:50:04 +00:00
thorpej 1cad401c12 Separate the AEN fetching path into its own special path that uses the
reserved CCB.  This means that all remaining callers of twe_param_get*()
are called from a valid thread context, and thus have no need to use a
reserved CCB.  This will allow for further cleanup in a future commit.
2003-09-23 23:08:54 +00:00
thorpej ddfcdc4f1f Add support for dynamically attaching and detaching RAID array units. 2003-09-22 18:31:10 +00:00
thorpej 0448a55234 Improve AEN handling:
- Make AENs use the generic code table stuff.
- Add a few more AEN codes (from FreeBSD).
- Correct the context of a few AEN codes (some were listed as
  "unit context" when they're really "port context").
- Add a queue of AENs that management tools in userspace can poll
  (from FreeBSD).
2003-09-22 01:13:02 +00:00
thorpej 21809f0c30 Expose the "param get" functions. 2003-09-21 19:27:27 +00:00
thorpej 291d256789 - Record more information about the array unit, including array
type and stripe depth.
- Report array type and stripe depth when attaching the logical drive.
2003-09-21 19:20:18 +00:00
thorpej 6c5904f215 Add some additional code -> description tables, and add a generic
routine to translate code -> description.  AENs will be converted
to this mechanism in a future commit.

Partially from FreeBSD.
2003-09-21 18:35:31 +00:00
christos fa65bb7322 Add /dev/twex support. To be used with FreeBSD's 3dmd.
Initial port from Masaru OKI <oki@netbsd.org>, with KNF, memory leak fixes,
denial of service problems, and null pointer fixes from me.
2002-12-13 23:31:32 +00:00
christos 7db182d94d NBPG is not constant on the sparc, so don't use CPP tricks. 2002-05-24 18:10:06 +00:00
christos 0c5fed7eec Deal with the NBPG problem in a better way. 2002-05-24 15:58:06 +00:00
ad d7e512df18 - Use write barriers.
- NBPG -> PAGE_SIZE.
2002-05-18 20:59:20 +00:00
ad 08632b145a Back out previous - it causes panics. 2001-10-10 09:33:36 +00:00
ad ec1f68e931 Use bus_dma to get temporary I/O buffers. 2001-09-20 22:09:44 +00:00
ad fc04a38b9a Don't choke when we get lots of AENs all at once. 2001-03-04 17:50:51 +00:00
ad 7bb669ca3e Fix up license. 2001-01-23 20:51:01 +00:00
ad 9c7e523b64 - Complain if interrupt-driven retrieval of AENs fails somehow.
- Clamp the number of outstanding commands to 129.
- Other tweaks.
2001-01-22 17:32:11 +00:00
thorpej cfe0892ed3 NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
ad 891c4efd74 - Pull in some updates from FreeBSD - mainly clarifications. Thanks to
Mike Smith <msmith@freebsd.org> for pointing these out.
- Ensure that we get AENs: reserve one CCB/command block for parameter
  retrieval, and chain AEN retrievals that are the result of an interrupt.
2000-11-08 19:23:50 +00:00
ad 833dea96d1 - tsleep()/wakeup_one() will hurt when under load, so use a queue instead.
- Don't copy to or from the aligned buffer unless there's a need to.
2000-10-20 15:14:25 +00:00
ad 9813a10184 Driver for the 3ware Escalade family of RAID controllers. 2000-10-19 14:11:30 +00:00