Lines Matching full:irqs
339 * ID. A block of IRQs is pre-allocated and maintained in a pool
345 * It allocates a block of IRQs from the GIC-ITS.
412 * It frees the IRQs that were allocated to the pool, back to the GIC-ITS.
438 * Allocate the IRQs required by a given fsl-mc device.
446 struct fsl_mc_device_irq **irqs = NULL; in fsl_mc_allocate_irqs() local
450 if (mc_dev->irqs) in fsl_mc_allocate_irqs()
468 "Not able to allocate %u irqs for device\n", irq_count); in fsl_mc_allocate_irqs()
472 irqs = devm_kcalloc(&mc_dev->dev, irq_count, sizeof(irqs[0]), in fsl_mc_allocate_irqs()
474 if (!irqs) in fsl_mc_allocate_irqs()
485 irqs[i] = to_fsl_mc_irq(resource); in fsl_mc_allocate_irqs()
488 irqs[i]->mc_dev = mc_dev; in fsl_mc_allocate_irqs()
489 irqs[i]->dev_irq_index = i; in fsl_mc_allocate_irqs()
492 mc_dev->irqs = irqs; in fsl_mc_allocate_irqs()
497 irqs[i]->mc_dev = NULL; in fsl_mc_allocate_irqs()
498 fsl_mc_resource_free(&irqs[i]->resource); in fsl_mc_allocate_irqs()
506 * Frees the IRQs that were allocated for an fsl-mc device.
513 struct fsl_mc_device_irq **irqs = mc_dev->irqs; in fsl_mc_free_irqs() local
515 if (!irqs) in fsl_mc_free_irqs()
529 irqs[i]->mc_dev = NULL; in fsl_mc_free_irqs()
530 fsl_mc_resource_free(&irqs[i]->resource); in fsl_mc_free_irqs()
533 mc_dev->irqs = NULL; in fsl_mc_free_irqs()