patch from Michal
authorDavid Schleef <ds@schleef.org>
Sun, 8 Apr 2001 01:48:16 +0000 (01:48 +0000)
committerDavid Schleef <ds@schleef.org>
Sun, 8 Apr 2001 01:48:16 +0000 (01:48 +0000)
comedi/drivers/adl_pci9118.c
comedi/drivers/adv_pci1710.c

index 4123d8c9e761bfab83b48897c3eb5ecb56970227..eb367b7ab93e5571d9796722af2c20628e86d0de 100644 (file)
@@ -385,8 +385,8 @@ static void interrupt_pci9118_ai_dma(int irq, void *d, struct pt_regs *regs)
 
        if(s->async->buf_int_ptr+samplesinbuf*sizeof(sampl_t)>=devpriv->ai1234_data_len){
                m=(devpriv->ai1234_data_len-s->async->buf_int_ptr)/sizeof(sampl_t);
-               if (this_board->ai_maxdata==0xfff) { move_block_from_dma_12bit(dev,s,(void *)ptr,((void *)(s->async->data))+s->async->buf_int_ptr,m); }
-                                           else   { move_block_from_dma_16bit(dev,s,(void *)ptr,((void *)(s->async->data))+s->async->buf_int_ptr,m); }
+               if (this_board->ai_maxdata==0xfff) { move_block_from_dma_12bit(dev,s,(void *)ptr,((void *)(devpriv->ai1234_data))+s->async->buf_int_ptr,m); }
+                                           else   { move_block_from_dma_16bit(dev,s,(void *)ptr,((void *)(devpriv->ai1234_data))+s->async->buf_int_ptr,m); }
                s->async->buf_int_count+=m*sizeof(sampl_t);
                ptr+=m*sizeof(sampl_t);
                samplesinbuf-=m;
@@ -396,8 +396,8 @@ static void interrupt_pci9118_ai_dma(int irq, void *d, struct pt_regs *regs)
        }
        
        if (samplesinbuf) {
-               if (this_board->ai_maxdata==0xfff) { move_block_from_dma_12bit(dev,s,(void *)ptr,((void *)(s->async->data))+s->async->buf_int_ptr,samplesinbuf); }
-                                           else   { move_block_from_dma_16bit(dev,s,(void *)ptr,((void *)(s->async->data))+s->async->buf_int_ptr,samplesinbuf); }
+               if (this_board->ai_maxdata==0xfff) { move_block_from_dma_12bit(dev,s,(void *)ptr,((void *)(devpriv->ai1234_data))+s->async->buf_int_ptr,samplesinbuf); }
+                                           else   { move_block_from_dma_16bit(dev,s,(void *)ptr,((void *)(devpriv->ai1234_data))+s->async->buf_int_ptr,samplesinbuf); }
                s->async->buf_int_count+=samplesinbuf*sizeof(sampl_t);
                s->async->buf_int_ptr+=samplesinbuf*sizeof(sampl_t);
                if (!(devpriv->ai1234_flags & TRIG_WAKE_EOS)) {
@@ -650,8 +650,8 @@ static int pci9118_ai_mode1234(int mode, comedi_device * dev, comedi_subdevice *
        devpriv->ai1234_chanlist=it->chanlist;
        devpriv->ai1234_scans=it->n;
        devpriv->ai1234_flags=it->flags;
-       devpriv->ai1234_data_len=it->data_len;
        devpriv->ai1234_data=it->data;
+       devpriv->ai1234_data_len=it->data_len;
        devpriv->ai1234_timer1=it->trigvar;
        devpriv->ai1234_timer2=it->trigvar1;
 
index 4c451aec0218469ee5f1151eb10ff37e17e31958..32705666c90df61d080a80167869863242144bbf 100644 (file)
@@ -704,13 +704,12 @@ static void interrupt_pci1710_every_sample(void *d)
                                comedi_error_done(dev,s);
                                return;
                        }
-               *(sampl_t *)(s->async->data+s->async->buf_int_ptr)=sampl & 0x0fff;
+               *(sampl_t *)((void *)(devpriv->ai_data)+s->async->buf_int_ptr)=sampl & 0x0fff;
 #ifdef PCI171X_EXTDEBUG
                rt_printk("%8d %2d %8d~",s->async->buf_int_ptr,s->async->cur_chan,s->async->buf_int_count);
 #endif
 #else
-               *(sampl_t *)(s->async->data+s->async->buf_int_ptr)=
-                       inw(dev->iobase+PCI171x_AD_DATA) & 0x0fff;
+               *(sampl_t *)((void *)(devpriv->ai_data)+s->async->buf_int_ptr)=inw(dev->iobase+PCI171x_AD_DATA) & 0x0fff;
 #endif
                s->async->buf_int_count+=sizeof(sampl_t);
                s->async->buf_int_ptr+=sizeof(sampl_t);
@@ -825,7 +824,7 @@ static void interrupt_pci1710_half_fifo(void *d)
        samplesinbuf=this_board->fifo_half_size;
        if(s->async->buf_int_ptr+samplesinbuf*sizeof(sampl_t)>=devpriv->ai_data_len){
                m=(devpriv->ai_data_len-s->async->buf_int_ptr)/sizeof(sampl_t);
-               if (move_block_from_fifo(dev,s,s->async->data+s->async->buf_int_ptr,m,0))
+               if (move_block_from_fifo(dev,s,((void *)(devpriv->ai_data))+s->async->buf_int_ptr,m,0))
                        return;
                s->async->buf_int_count+=m*sizeof(sampl_t);
                samplesinbuf-=m;
@@ -840,7 +839,7 @@ static void interrupt_pci1710_half_fifo(void *d)
        }
 
        if (samplesinbuf) {
-               if (move_block_from_fifo(dev,s,s->async->data+s->async->buf_int_ptr,samplesinbuf,1))
+               if (move_block_from_fifo(dev,s,((void *)(devpriv->ai_data))+s->async->buf_int_ptr,samplesinbuf,1))
                        return;
 
                s->async->buf_int_count+=samplesinbuf*sizeof(sampl_t);