[PATCH 071/108] staging: comedi: addi_apci_3120: set scan length/start after programming chanlist

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The APCI-3120 documentation says that the PR/PA bits should be set after the
chanlist sequence is programmed.

Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Cc: Ian Abbott <abbotti@xxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 drivers/staging/comedi/drivers/addi_apci_3120.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/addi_apci_3120.c b/drivers/staging/comedi/drivers/addi_apci_3120.c
index 77499b4..f258ceb 100644
--- a/drivers/staging/comedi/drivers/addi_apci_3120.c
+++ b/drivers/staging/comedi/drivers/addi_apci_3120.c
@@ -286,10 +286,6 @@ static void apci3120_set_chanlist(struct comedi_device *dev,
 	struct apci3120_private *devpriv = dev->private;
 	int i;
 
-	/* set scan length (PR) and scan start (PA) */
-	devpriv->ctrl = APCI3120_CTRL_PR(n_chan - 1) | APCI3120_CTRL_PA(0);
-	outw(devpriv->ctrl, dev->iobase + APCI3120_CTRL_REG);
-
 	/* set chanlist for scan */
 	for (i = 0; i < n_chan; i++) {
 		unsigned int chan = CR_CHAN(chanlist[i]);
@@ -307,6 +303,10 @@ static void apci3120_set_chanlist(struct comedi_device *dev,
 	}
 
 	apci3120_ai_reset_fifo(dev);
+
+	/* set scan length (PR) and scan start (PA) */
+	devpriv->ctrl = APCI3120_CTRL_PR(n_chan - 1) | APCI3120_CTRL_PA(0);
+	outw(devpriv->ctrl, dev->iobase + APCI3120_CTRL_REG);
 }
 
 #include "addi-data/hwdrv_apci3120.c"
-- 
2.0.3

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux