diff options
author | marcel <marcel@FreeBSD.org> | 2010-06-11 03:00:32 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2010-06-11 03:00:32 +0000 |
commit | a502e20888f5a09c1de9dd0902dbc07b078d1a44 (patch) | |
tree | b4555ca3ea30ff71620841fb56285cf083a3c42a /sys/ia64/include | |
parent | 5e2765a1e0e7f28e889071fdde71f575dc194341 (diff) | |
download | FreeBSD-src-a502e20888f5a09c1de9dd0902dbc07b078d1a44.zip FreeBSD-src-a502e20888f5a09c1de9dd0902dbc07b078d1a44.tar.gz |
Bump MAX_BPAGES from 256 to 1024. It seems that a few drivers, bge(4)
in particular, do not handle deferred DMA map load operations at all.
Any error, and especially EINPROGRESS, is treated as a hard error and
typically abort the current operation. The fact that the busdma code
queues the load operation for when resources (i.e. bounce buffers in
this particular case) are available makes this especially problematic.
Bounce buffering, unlike what the PR synopsis would suggest, works
fine.
While on the subject, properly implement swi_vm().
PR: 147502
MFC after: 1 week
Diffstat (limited to 'sys/ia64/include')
-rw-r--r-- | sys/ia64/include/md_var.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/ia64/include/md_var.h b/sys/ia64/include/md_var.h index 9a2f92a..f64e4c9 100644 --- a/sys/ia64/include/md_var.h +++ b/sys/ia64/include/md_var.h @@ -75,6 +75,7 @@ struct ia64_init_return { extern uint64_t ia64_lapic_addr; extern long Maxmem; +extern u_int busdma_swi_pending; void busdma_swi(void); int copyout_regstack(struct thread *, uint64_t *, uint64_t *); |