Lines Matching refs:dgc

289 	struct irq_domain_chip_generic *dgc;  in irq_domain_alloc_generic_chips()  local
308 dgc_sz = struct_size(dgc, gc, numchips); in irq_domain_alloc_generic_chips()
311 tmp = dgc = kzalloc(sz, GFP_KERNEL); in irq_domain_alloc_generic_chips()
312 if (!dgc) in irq_domain_alloc_generic_chips()
314 dgc->irqs_per_chip = info->irqs_per_chip; in irq_domain_alloc_generic_chips()
315 dgc->num_chips = numchips; in irq_domain_alloc_generic_chips()
316 dgc->irq_flags_to_set = info->irq_flags_to_set; in irq_domain_alloc_generic_chips()
317 dgc->irq_flags_to_clear = info->irq_flags_to_clear; in irq_domain_alloc_generic_chips()
318 dgc->gc_flags = info->gc_flags; in irq_domain_alloc_generic_chips()
319 dgc->exit = info->exit; in irq_domain_alloc_generic_chips()
320 d->gc = dgc; in irq_domain_alloc_generic_chips()
326 dgc->gc[i] = gc = tmp; in irq_domain_alloc_generic_chips()
328 i * dgc->irqs_per_chip, NULL, in irq_domain_alloc_generic_chips()
332 if (dgc->gc_flags & IRQ_GC_BE_IO) { in irq_domain_alloc_generic_chips()
353 if (dgc->exit) in irq_domain_alloc_generic_chips()
354 dgc->exit(dgc->gc[i]); in irq_domain_alloc_generic_chips()
355 irq_remove_generic_chip(dgc->gc[i], ~0U, 0, 0); in irq_domain_alloc_generic_chips()
358 kfree(dgc); in irq_domain_alloc_generic_chips()
369 struct irq_domain_chip_generic *dgc = d->gc; in irq_domain_remove_generic_chips() local
372 if (!dgc) in irq_domain_remove_generic_chips()
375 for (i = 0; i < dgc->num_chips; i++) { in irq_domain_remove_generic_chips()
376 if (dgc->exit) in irq_domain_remove_generic_chips()
377 dgc->exit(dgc->gc[i]); in irq_domain_remove_generic_chips()
378 irq_remove_generic_chip(dgc->gc[i], ~0U, 0, 0); in irq_domain_remove_generic_chips()
381 kfree(dgc); in irq_domain_remove_generic_chips()
419 struct irq_domain_chip_generic *dgc = d->gc; in __irq_get_domain_generic_chip() local
422 if (!dgc) in __irq_get_domain_generic_chip()
424 idx = hw_irq / dgc->irqs_per_chip; in __irq_get_domain_generic_chip()
425 if (idx >= dgc->num_chips) in __irq_get_domain_generic_chip()
427 return dgc->gc[idx]; in __irq_get_domain_generic_chip()
458 struct irq_domain_chip_generic *dgc = d->gc; in irq_map_generic_chip() local
469 idx = hw_irq % dgc->irqs_per_chip; in irq_map_generic_chip()
483 irq_gc_init_mask_cache(gc, dgc->gc_flags); in irq_map_generic_chip()
490 if (dgc->gc_flags & IRQ_GC_INIT_NESTED_LOCK) in irq_map_generic_chip()
500 irq_modify_status(virq, dgc->irq_flags_to_clear, dgc->irq_flags_to_set); in irq_map_generic_chip()
507 struct irq_domain_chip_generic *dgc = d->gc; in irq_unmap_generic_chip() local
516 irq_idx = hw_irq % dgc->irqs_per_chip; in irq_unmap_generic_chip()