Commit 4dbf3185 authored by Tomasz Wlostowski's avatar Tomasz Wlostowski

kernel: bring back IRQs (reverts bugs in the previous patch)

parent a1ae7810
...@@ -285,11 +285,6 @@ static void ft_dma_work(struct work_struct *work) ...@@ -285,11 +285,6 @@ static void ft_dma_work(struct work_struct *work)
unsigned long *loop; unsigned long *loop;
irq_stat = ft_ioread(ft, ft->ft_irq_base + TDC_EIC_REG_EIC_ISR); irq_stat = ft_ioread(ft, ft->ft_irq_base + TDC_EIC_REG_EIC_ISR);
if (!(irq_stat & TDC_EIC_EIC_IMR_TDC_DMA_MASK)) {
dev_warn(&ft->fmc->dev,
"Expected DMA interrupt but got 0x%x\n", irq_stat);
goto err;
}
irq_stat &= TDC_EIC_EIC_IMR_TDC_DMA_MASK; irq_stat &= TDC_EIC_EIC_IMR_TDC_DMA_MASK;
irq_stat >>= TDC_EIC_EIC_IMR_TDC_DMA_SHIFT; irq_stat >>= TDC_EIC_EIC_IMR_TDC_DMA_SHIFT;
...@@ -347,7 +342,7 @@ err_alloc: ...@@ -347,7 +342,7 @@ err_alloc:
zio_cset_busy_clear(&ft->zdev->cset[i], 1); zio_cset_busy_clear(&ft->zdev->cset[i], 1);
zio_trigger_abort_disable(&ft->zdev->cset[i], 0); zio_trigger_abort_disable(&ft->zdev->cset[i], 0);
} }
err:
ft_irq_enable_restore(ft); ft_irq_enable_restore(ft);
} }
...@@ -396,11 +391,6 @@ static void ft_fifo_work(struct work_struct *work) ...@@ -396,11 +391,6 @@ static void ft_fifo_work(struct work_struct *work)
int i; int i;
irq_stat = ft_ioread(ft, ft->ft_irq_base + TDC_EIC_REG_EIC_ISR); irq_stat = ft_ioread(ft, ft->ft_irq_base + TDC_EIC_REG_EIC_ISR);
if (!(irq_stat & TDC_EIC_EIC_IMR_TDC_FIFO_MASK)) {
dev_warn(&ft->fmc->dev,
"Expected FIFO interrupt but got 0x%x\n", irq_stat);
return;
}
irq: irq:
/* /*
...@@ -668,16 +658,13 @@ int ft_irq_init(struct fmctdc_dev *ft) ...@@ -668,16 +658,13 @@ int ft_irq_init(struct fmctdc_dev *ft)
ft->fmc->irq = ft->ft_irq_base; ft->fmc->irq = ft->ft_irq_base;
if (ft->mode == FT_ACQ_TYPE_FIFO) ret = fmc_irq_request(ft->fmc, ft_irq_handler_ts,
{ "fmc-tdc", 0);
ret = fmc_irq_request(ft->fmc, ft_irq_handler_ts, if (ret < 0) {
"fmc-tdc", 0); dev_err(&ft->fmc->dev,
if (ret < 0) { "Request interrupt failed: %d\n",
dev_err(&ft->fmc->dev, ret);
"Request interrupt failed: %d\n", return ret;
ret);
return ret;
}
} }
if (ft->mode == FT_ACQ_TYPE_DMA) { if (ft->mode == FT_ACQ_TYPE_DMA) {
...@@ -706,10 +693,8 @@ int ft_irq_init(struct fmctdc_dev *ft) ...@@ -706,10 +693,8 @@ int ft_irq_init(struct fmctdc_dev *ft)
} }
if (ft->mode == FT_ACQ_TYPE_FIFO) { ft_iowrite(ft, ft_chan_to_irq_mask(ft, 0x1F),
ft_iowrite(ft, ft_chan_to_irq_mask(ft, 0x1F), ft->ft_irq_base + TDC_EIC_REG_EIC_IER);
ft->ft_irq_base + TDC_EIC_REG_EIC_IER);
}
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment