[PATCH 25/29] staging: comedi: adl_pci9118: enable DMA in common code path

H Hartley Sweeten hsweeten at visionengravers.com
Mon Sep 8 23:18:37 UTC 2014


The pci9118_ai_docmd_dma() function enables the DMA bit in the ai control
register for all acquisition modes. For aesthetics, move the enable of
this bit into the (*do_cmd).

Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
Cc: Ian Abbott <abbotti at mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
---
 drivers/staging/comedi/drivers/adl_pci9118.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c b/drivers/staging/comedi/drivers/adl_pci9118.c
index 48064c2..5588631 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -1139,12 +1139,10 @@ static int pci9118_ai_docmd_dma(struct comedi_device *dev,
 
 	switch (devpriv->ai_do) {
 	case 1:
-		devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR |
-				    PCI9118_AI_CTRL_DMA;
+		devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR;
 		break;
 	case 2:
-		devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR |
-				    PCI9118_AI_CTRL_DMA;
+		devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR;
 		devpriv->ai_cfg |= PCI9118_AI_CFG_BM |
 				   PCI9118_AI_CFG_BS;
 		if (cmd->convert_src == TRIG_NOW && !devpriv->softsshdelay)
@@ -1153,12 +1151,10 @@ static int pci9118_ai_docmd_dma(struct comedi_device *dev,
 		     dev->iobase + PCI9118_AI_BURST_NUM_REG);
 		break;
 	case 3:
-		devpriv->ai_ctrl |= PCI9118_AI_CTRL_EXTM |
-				    PCI9118_AI_CTRL_DMA;
+		devpriv->ai_ctrl |= PCI9118_AI_CTRL_EXTM;
 		break;
 	case 4:
-		devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR |
-				    PCI9118_AI_CTRL_DMA;
+		devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR;
 		devpriv->ai_cfg |= PCI9118_AI_CFG_AM;
 		outl(devpriv->ai_cfg, dev->iobase + PCI9118_AI_CFG_REG);
 		pci9118_timer_set_mode(dev, 0, I8254_MODE0);
@@ -1346,6 +1342,9 @@ static int pci9118_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 		devpriv->ai_do = 3;
 	}
 
+	if (devpriv->usedma)
+		devpriv->ai_ctrl |= PCI9118_AI_CTRL_DMA;
+
 	pci9118_start_pacer(dev, -1);	/* stop pacer */
 
 	/* set default config (disable burst and triggers) */
-- 
2.0.3



More information about the devel mailing list