Lines Matching full:irqs
347 * ID. A block of IRQs is pre-allocated and maintained in a pool
353 * It allocates a block of IRQs from the GIC-ITS.
415 * It frees the IRQs that were allocated to the pool, back to the GIC-ITS.
441 * Allocate the IRQs required by a given fsl-mc device.
449 struct fsl_mc_device_irq **irqs = NULL; in fsl_mc_allocate_irqs() local
453 if (mc_dev->irqs) in fsl_mc_allocate_irqs()
471 "Not able to allocate %u irqs for device\n", irq_count); in fsl_mc_allocate_irqs()
475 irqs = devm_kcalloc(&mc_dev->dev, irq_count, sizeof(irqs[0]), in fsl_mc_allocate_irqs()
477 if (!irqs) in fsl_mc_allocate_irqs()
488 irqs[i] = to_fsl_mc_irq(resource); in fsl_mc_allocate_irqs()
491 irqs[i]->mc_dev = mc_dev; in fsl_mc_allocate_irqs()
492 irqs[i]->dev_irq_index = i; in fsl_mc_allocate_irqs()
495 mc_dev->irqs = irqs; in fsl_mc_allocate_irqs()
500 irqs[i]->mc_dev = NULL; in fsl_mc_allocate_irqs()
501 fsl_mc_resource_free(&irqs[i]->resource); in fsl_mc_allocate_irqs()
509 * Frees the IRQs that were allocated for an fsl-mc device.
516 struct fsl_mc_device_irq **irqs = mc_dev->irqs; in fsl_mc_free_irqs() local
518 if (!irqs) in fsl_mc_free_irqs()
532 irqs[i]->mc_dev = NULL; in fsl_mc_free_irqs()
533 fsl_mc_resource_free(&irqs[i]->resource); in fsl_mc_free_irqs()
536 mc_dev->irqs = NULL; in fsl_mc_free_irqs()