factor out the dma memory allocation, mapping, freeing and unmapping functionality and call them only on attach and detach.  these were being called in interrupt context and were causing a panic on device timeout.
factor out the dma memory allocation, mapping, freeing and unmapping
functionality and call them only on attach and detach.  these were
being called in interrupt context and were causing a panic on device
timeout.

ok damien@

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars