Lines Matching full:irqs
341 * ID. A block of IRQs is pre-allocated and maintained in a pool
347 * It allocates a block of IRQs from the GIC-ITS.
414 * It frees the IRQs that were allocated to the pool, back to the GIC-ITS.
440 * Allocate the IRQs required by a given fsl-mc device.
448 struct fsl_mc_device_irq **irqs = NULL; in fsl_mc_allocate_irqs() local
452 if (mc_dev->irqs) in fsl_mc_allocate_irqs()
470 "Not able to allocate %u irqs for device\n", irq_count); in fsl_mc_allocate_irqs()
474 irqs = devm_kcalloc(&mc_dev->dev, irq_count, sizeof(irqs[0]), in fsl_mc_allocate_irqs()
476 if (!irqs) in fsl_mc_allocate_irqs()
487 irqs[i] = to_fsl_mc_irq(resource); in fsl_mc_allocate_irqs()
490 irqs[i]->mc_dev = mc_dev; in fsl_mc_allocate_irqs()
491 irqs[i]->dev_irq_index = i; in fsl_mc_allocate_irqs()
494 mc_dev->irqs = irqs; in fsl_mc_allocate_irqs()
499 irqs[i]->mc_dev = NULL; in fsl_mc_allocate_irqs()
500 fsl_mc_resource_free(&irqs[i]->resource); in fsl_mc_allocate_irqs()
508 * Frees the IRQs that were allocated for an fsl-mc device.
515 struct fsl_mc_device_irq **irqs = mc_dev->irqs; in fsl_mc_free_irqs() local
517 if (!irqs) in fsl_mc_free_irqs()
531 irqs[i]->mc_dev = NULL; in fsl_mc_free_irqs()
532 fsl_mc_resource_free(&irqs[i]->resource); in fsl_mc_free_irqs()
535 mc_dev->irqs = NULL; in fsl_mc_free_irqs()