}
}
-static inline void dw_edma_add_irq_mask(u32 *mask, u32 alloc, u16 cnt)
-{
- while (*mask * alloc < cnt)
- (*mask)++;
-}
-
static int dw_edma_irq_request(struct dw_edma *dw,
u32 *wr_alloc, u32 *rd_alloc)
{
struct dw_edma_chip *chip = dw->chip;
struct device *dev = dw->chip->dev;
struct msi_desc *msi_desc;
- u32 wr_mask = 1;
- u32 rd_mask = 1;
int i, err = 0;
u32 ch_cnt;
int irq;
dw_edma_dec_irq_alloc(&tmp, rd_alloc, dw->rd_ch_cnt);
}
- dw_edma_add_irq_mask(&wr_mask, *wr_alloc, dw->wr_ch_cnt);
- dw_edma_add_irq_mask(&rd_mask, *rd_alloc, dw->rd_ch_cnt);
-
for (i = 0; i < (*wr_alloc + *rd_alloc); i++) {
irq = chip->ops->irq_vector(dev, i);
err = request_irq(irq,