diff options
author | jhb <jhb@FreeBSD.org> | 2012-08-27 17:24:07 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2012-08-27 17:24:07 +0000 |
commit | dd3faa2109584c5a80372b53ceb0420ad3d7ffe7 (patch) | |
tree | bb4414bab4326a48158380d8bbec5f65d3f00349 /usr.sbin | |
parent | eda92569ee88b45557a54b3dbb4d16d8879b8932 (diff) | |
download | FreeBSD-src-dd3faa2109584c5a80372b53ceb0420ad3d7ffe7.zip FreeBSD-src-dd3faa2109584c5a80372b53ceb0420ad3d7ffe7.tar.gz |
Rework the DMA handling in ida(4) and add locking to make this driver
MPSAFE.
- Preallocate a full set of QCBs during attach rather than allocating new
ones on demand to avoid allocations in the I/O path.
- Remove the explicit bus space tag/handle and use bus_*() on the
relevant 'struct resource' instead.
- Defer logical drive probing to an intrhook.
- Fix ida_detach() to detach and delete child devices (logical drives).
- Update the DMA handling to support EINPROGRESS by moving the work to
submit a mapped request into the bus_dma callback routine as well as
add support for freezing the queue when EINPROGRESS is encountered.
Tested by: Marco Steinbach coco executive-computing de
Diffstat (limited to 'usr.sbin')
0 files changed, 0 insertions, 0 deletions