Do 32 bit dma transfers for analog output.
authorFrank Mori Hess <fmhess@speakeasy.net>
Sat, 4 Nov 2006 02:39:46 +0000 (02:39 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Sat, 4 Nov 2006 02:39:46 +0000 (02:39 +0000)
comedi/drivers/ni_mio_common.c

index 08e16860b83f369b18771d898d67ada6cc60bdb6..4d8678b62926d15b2f018299ad80a8d76999320d 100644 (file)
@@ -1215,10 +1215,14 @@ static void ni_ao_setup_MITE_dma(comedi_device *dev,comedi_cmd *cmd)
        mite_chan->current_link = 0;
        mite_chan->dir = COMEDI_OUTPUT;
        if(boardtype.reg_type & (ni_reg_611x | ni_reg_6713))
+       {
                mite_prep_dma(mite, AO_DMA_CHAN, 32, 32);
-       else
-               mite_prep_dma(mite, AO_DMA_CHAN, 16, 16);
-
+       }else
+       {
+               /* doing 32 instead of 16 bit wide transfers from memory 
+                makes the mite do 32 bit pci transfers, doubling pci bandwidth. */
+               mite_prep_dma(mite, AO_DMA_CHAN, 16, 32);
+       }
        /*start the MITE*/
        mite_dma_arm(mite, AO_DMA_CHAN);
 }