/** * DOC: IPA Power Management * * The IPA hardware is enabled when the IPA core clock and all the * interconnects (buses) it depends on are enabled. Runtime power * management is used to determine whether the core clock and * interconnects are enabled, and if not in use to be suspended * automatically. * * The core clock currently runs at a fixed clock rate when enabled, * an all interconnects use a fixed average and peak bandwidth.
*/
/* Initialize our interconnect data array for bulk operations */
interconnect = &power->interconnect[0]; for (i = 0; i < power->interconnect_count; i++) { /* interconnect->path is filled in by of_icc_bulk_get() */
interconnect->name = data->name;
interconnect->avg_bw = data->average_bandwidth;
interconnect->peak_bw = data->peak_bandwidth;
data++;
interconnect++;
}
ret = of_icc_bulk_get(power->dev, power->interconnect_count,
power->interconnect); if (ret) return ret;
/* All interconnects are initially disabled */
icc_bulk_disable(power->interconnect_count, power->interconnect);
/* Set the bandwidth values to be used when enabled */
ret = icc_bulk_set_bw(power->interconnect_count, power->interconnect); if (ret)
icc_bulk_put(power->interconnect_count, power->interconnect);
/* Increment the disable depth to ensure that the IRQ won't * be re-enabled until the matching _enable call in * ipa_resume(). We do this to ensure that the interrupt * handler won't run whilst PM runtime is disabled. * * Note that disabling the IRQ is NOT the same as disabling * irq wake. If wakeup is enabled for the IPA then the IRQ * will still cause the system to wake up, see irq_set_irq_wake().
*/
ipa_interrupt_irq_disable(ipa);
/* Now that PM runtime is enabled again it's safe * to turn the IRQ back on and process any data * that was received during suspend.
*/
ipa_interrupt_irq_enable(ipa);
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.