Lines Matching defs:desc
32 struct msi_desc *desc;
34 desc = kzalloc(sizeof(*desc), GFP_KERNEL);
35 if (!desc)
38 INIT_LIST_HEAD(&desc->list);
39 desc->dev = dev;
40 desc->nvec_used = nvec;
42 desc->affinity = kmemdup(affinity,
43 nvec * sizeof(*desc->affinity), GFP_KERNEL);
44 if (!desc->affinity) {
45 kfree(desc);
50 return desc;
204 struct msi_desc *desc)
206 arg->desc = desc;
329 struct msi_desc *desc;
332 for_each_msi_entry(desc, dev) {
334 if (WARN_ON(!desc->irq || desc->nvec_used != 1)) {
339 if (!(desc->irq >= virq && desc->irq < (virq + nvec)))
342 ops->set_desc(arg, desc);
344 ret = irq_domain_alloc_irqs_hierarchy(domain, desc->irq, 1,
349 irq_set_msi_desc_off(desc->irq, 0, desc);
354 for_each_msi_entry(desc, dev) {
355 if (!(desc->irq >= virq && desc->irq < (virq + nvec)))
358 irq_domain_free_irqs_common(domain, desc->irq, 1);
380 struct msi_desc *desc;
400 desc = first_msi_entry(dev);
401 return desc->msi_attrib.is_msix || desc->msi_attrib.maskbit;
410 struct msi_desc *desc;
421 for_each_msi_entry(desc, dev) {
422 ops->set_desc(&arg, desc);
424 virq = __irq_domain_alloc_irqs(domain, -1, desc->nvec_used,
426 desc->affinity);
430 ret = ops->handle_error(domain, desc, ret);
436 for (i = 0; i < desc->nvec_used; i++) {
437 irq_set_msi_desc_off(virq, i, desc);
455 for_each_msi_vector(desc, i, dev) {
456 if (desc->irq == i) {
457 virq = desc->irq;
459 virq, virq + desc->nvec_used - 1);
486 for_each_msi_vector(desc, i, dev) {
519 struct msi_desc *desc;
522 for_each_msi_vector(desc, i, dev) {
528 for_each_msi_entry(desc, dev) {
534 if (desc->irq) {
535 irq_domain_free_irqs(desc->irq, desc->nvec_used);
536 desc->irq = 0;