
this driver uses three dma segments; play, record, calibrate.
instead of using a linked list to describe the dma segments
use three distinct pointers.

also, this driver only needs 1 buffer descriptor for each dma
segment, since each buffer descriptor can handle as many samples
as each segment can hold.

makes the code a little easier to read and allows us to free
the calibration buffer when we're done with it.

idea originally from ratchov@ a while back.  tested by ratchov@
and myself.

ok ratchov@

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