Commit e21d811e authored by Juan David González Cobas's avatar Juan David González Cobas

Merge branch 'traces' into tom-irq-race-fix-sep27

parents 46da0f54 2534f543
......@@ -131,6 +131,9 @@ static inline uint32_t ft_chan_to_irq_mask(struct fmctdc_dev *ft, uint32_t chan_
static void ft_eic_irq_disable(struct fmctdc_dev *ft, uint32_t mask)
{
ft_iowrite(ft, mask, ft->ft_irq_base + TDC_EIC_REG_EIC_IDR);
printk(KERN_INFO "race69[disable_Save] %s:%d: ft = %p TDC_EIC_REG_EIC_IDR, mask = %x\n",
__FILE__, __LINE__ ,
ft, mask);
}
/**
......@@ -141,6 +144,9 @@ static void ft_eic_irq_disable(struct fmctdc_dev *ft, uint32_t mask)
static void ft_eic_irq_enable(struct fmctdc_dev *ft, uint32_t mask)
{
ft_iowrite(ft, mask, ft->ft_irq_base + TDC_EIC_REG_EIC_IER);
printk(KERN_INFO "race69[enable_restore] %s:%d: ft = %p TDC_EIC_REG_EIC_IER, mask = %x\n",
__FILE__, __LINE__ ,
ft, mask);
}
......@@ -298,8 +304,6 @@ static void ft_dma_work(struct work_struct *work)
ft_eic_irq_enable(ft, TDC_EIC_EIC_IMR_TDC_DMA_MASK);
return;
}
irq_stat = ft_ioread(ft, ft->ft_irq_base + TDC_EIC_REG_EIC_ISR);
irq_stat &= TDC_EIC_EIC_IMR_TDC_DMA_MASK;
irq_stat >>= TDC_EIC_EIC_IMR_TDC_DMA_SHIFT;
......@@ -703,6 +707,9 @@ int ft_irq_init(struct fmctdc_dev *ft)
/* disable & kick off the interrupts (fixme: possible issue with the HDL) */
ft_iowrite(ft, ~0, ft->ft_irq_base + TDC_EIC_REG_EIC_IDR);
printk(KERN_INFO "race69 %s:%d: ft = %p TDC_EIC_REG_EIC_IDR, ft->irq_imr = %x\n",
__FILE__, __LINE__,
ft, 0);
fmc_irq_ack(ft->fmc);
/*
* We enable interrupts on all channel. but if we do not enable
......@@ -714,11 +721,17 @@ int ft_irq_init(struct fmctdc_dev *ft)
ft_iowrite(ft,
DMA_EIC_EIC_IER_DMA_DONE | DMA_EIC_EIC_IER_DMA_ERROR,
ft->ft_dma_eic_base + DMA_EIC_REG_EIC_IER);
printk(KERN_INFO "race69 %s:%d: ft = %p DMA_EIC_REG_EIC_IER, DMA_EIC_EIC_IER_DMA_DONE|DMA_EIC_EIC_IER_DMA_ERROR = %x\n",
__FILE__, __LINE__ ,
ft, DMA_EIC_EIC_IER_DMA_DONE | DMA_EIC_EIC_IER_DMA_ERROR);
}
ft_iowrite(ft, ft_chan_to_irq_mask(ft, 0x1F),
ft->ft_irq_base + TDC_EIC_REG_EIC_IER);
printk(KERN_INFO "race69 %s:%d: ft = %p TDC_EIC_REG_EIC_IER, ft_chan_to_irq_mask(ft, 0x1F) = %x\n",
__FILE__, __LINE__ ,
ft, ft_chan_to_irq_mask(ft, 0x1F));
return 0;
}
......@@ -726,7 +739,13 @@ int ft_irq_init(struct fmctdc_dev *ft)
void ft_irq_exit(struct fmctdc_dev *ft)
{
ft_iowrite(ft, ~0, ft->ft_irq_base + TDC_EIC_REG_EIC_IDR);
printk(KERN_INFO "race69 %s:%d: ft = %p TDC_EIC_REG_EIC_IDR, ft->irq_imr = %x\n",
__FILE__, __LINE__,
ft, 0);
if (ft->mode == FT_ACQ_TYPE_DMA) {
printk(KERN_INFO "race69 %s:%d: ft = %p DMA_EIC_REG_EIC_IER, DMA_EIC_EIC_IDR_DMA_DONE | DMA_EIC_EIC_IDR_DMA_ERROR = %x\n",
__FILE__, __LINE__,
ft, DMA_EIC_EIC_IDR_DMA_DONE | DMA_EIC_EIC_IDR_DMA_ERROR);
ft_iowrite(ft,
DMA_EIC_EIC_IDR_DMA_DONE | DMA_EIC_EIC_IDR_DMA_ERROR,
ft->ft_dma_eic_base + DMA_EIC_REG_EIC_IER);
......
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