#define APCI3120_START 1
#define APCI3120_STOP 0
-#define APCI3120_EOC_MODE 1
-#define APCI3120_EOS_MODE 2
-#define APCI3120_DMA_MODE 3
-
#define APCI3120_RD_FIFO 0x00
/* software trigger dummy register */
{
struct apci3120_private *devpriv = dev->private;
- devpriv->b_InterruptMode = APCI3120_EOC_MODE;
-
/* variables used in timer subdevice */
devpriv->b_Timer2Mode = 0;
devpriv->b_Timer2Interrupt = 0;
inw(dev->iobase + APCI3120_STATUS_REG);
devpriv->ui_DmaActualBuffer = 0;
- devpriv->b_InterruptMode = APCI3120_EOC_MODE;
-
return 0;
}
apci3120_timer_write(dev, 0, divisor);
if (devpriv->us_UseDma) {
- devpriv->b_InterruptMode = APCI3120_DMA_MODE;
apci3120_setup_dma(dev, s);
} else {
- devpriv->b_InterruptMode = APCI3120_EOS_MODE;
-
devpriv->mode |= APCI3120_MODE_EOS_IRQ_ENA;
if (cmd->stop_src == TRIG_COUNT) {
dev_err(dev->class_dev, "AMCC IRQ - TARGET DMA ABORT!\n");
if ((status & APCI3120_STATUS_EOC_INT) == 0 &&
- devpriv->b_InterruptMode == APCI3120_EOC_MODE) {
+ (devpriv->mode & APCI3120_MODE_EOC_IRQ_ENA)) {
/* nothing to do... EOC mode is not currently used */
}
if ((status & APCI3120_STATUS_EOS_INT) &&
- devpriv->b_InterruptMode == APCI3120_EOS_MODE) {
+ (devpriv->mode & APCI3120_MODE_EOS_IRQ_ENA)) {
unsigned short val;
int i;
apci3120_clr_timer2_interrupt(dev);
}
- if ((status & APCI3120_STATUS_AMCC_INT) &&
- devpriv->b_InterruptMode == APCI3120_DMA_MODE) {
+ if (status & APCI3120_STATUS_AMCC_INT) {
/* Clear Timer Write TC int */
outl(APCI3120_CLEAR_WRITE_TC_INT,
devpriv->amcc + APCI3120_AMCC_OP_REG_INTCSR);