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)
unsigned long *loop;
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_SHIFT;
......@@ -347,7 +342,7 @@ err_alloc:
zio_cset_busy_clear(&ft->zdev->cset[i], 1);
zio_trigger_abort_disable(&ft->zdev->cset[i], 0);
}
err:
ft_irq_enable_restore(ft);
}
......@@ -396,11 +391,6 @@ static void ft_fifo_work(struct work_struct *work)
int i;
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:
/*
......@@ -668,16 +658,13 @@ int ft_irq_init(struct fmctdc_dev *ft)
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);
if (ret < 0) {
dev_err(&ft->fmc->dev,
"Request interrupt failed: %d\n",
ret);
return ret;
}
ret = fmc_irq_request(ft->fmc, ft_irq_handler_ts,
"fmc-tdc", 0);
if (ret < 0) {
dev_err(&ft->fmc->dev,
"Request interrupt failed: %d\n",
ret);
return ret;
}
if (ft->mode == FT_ACQ_TYPE_DMA) {
......@@ -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->ft_irq_base + TDC_EIC_REG_EIC_IER);
}
ft_iowrite(ft, ft_chan_to_irq_mask(ft, 0x1F),
ft->ft_irq_base + TDC_EIC_REG_EIC_IER);
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