for (set = 0; set < res->sets; set++) { for (i = 0; i < res->desc[set].num; i++, count++) {
msi_desc.msi_index = res->desc[set].start + i; if (msi_insert_msi_desc(dev, &msi_desc)) goto fail;
}
for (i = 0; i < res->desc[set].num_sec; i++, count++) {
msi_desc.msi_index = res->desc[set].start_sec + i; if (msi_insert_msi_desc(dev, &msi_desc)) goto fail;
}
} return count;
fail:
msi_free_msi_descs(dev); return -ENOMEM;
}
int ti_sci_inta_msi_domain_alloc_irqs(struct device *dev, struct ti_sci_resource *res)
{ struct platform_device *pdev = to_platform_device(dev); int ret, nvec;
if (pdev->id < 0) return -ENODEV;
ret = msi_setup_device_data(dev); if (ret) return ret;
/* Use alloc ALL as it's unclear whether there are gaps in the indices */
ret = msi_domain_alloc_irqs_all_locked(dev, MSI_DEFAULT_DOMAIN, nvec); if (ret)
dev_err(dev, "Failed to allocate IRQs %d\n", ret); return ret;
}
EXPORT_SYMBOL_GPL(ti_sci_inta_msi_domain_alloc_irqs);
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet am 2026-10-01)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.