diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2003-07-01 17:15:07 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2003-07-01 17:15:07 +0000 |
commit | 93d92df72e7e3af474865f8f2eb06de7ce91b354 (patch) | |
tree | 9b50a654f37c03f7bad7035ed46717a0b365c2b9 /share/tmac/mdoc/doc-ditroff | |
parent | ed03395998fad2d4a56d64c53191b035072f191c (diff) |
Don't dma map the xs->cmd. Copy it to a safe buffer that is already
mapped and sync'ed appropriately, and is guaranteed to be in one
memory page.
Eliminate now unused dmamap_cmd and rs_cmd fields.
Fix another error message (adding active command to reset list) so
that it includes the adapter name.
Add missing letoh32() calls to debug code.
The evils of directly mapping *xs->cmd were pointed out by Mickey
during osiop development. In particular, *xs->cmd may start on one
memory page and run into the next. Since the dma logic in most
cards/drivers (including siop) only allocates one address/size pair to
map *xs->cmd, parts of a command could be lost or corrupted.
The large number of 6 byte dma mappings noted long ago by someone
(Henric?). This change reduces the dma mapping activity per i/o by
1/3 to 1/2 and may give a performance boost of some kind.
Successfully tested on i386, sparc64 (ultra30 - thanks Jolan,
blade100), macppc and alpha.
Unfortunately these changes don't fix the Blade1000 siop problems.
**NOTE** If scsi_generic is ever upped to 16 bytes the offsets in
siop.ss must be updated!
Diffstat (limited to 'share/tmac/mdoc/doc-ditroff')
0 files changed, 0 insertions, 0 deletions