mpmm.rst 1.5 KB

123456789101112131415161718192021222324252627282930
  1. Maximum Power Mitigation Mechanism (MPMM)
  2. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  3. |MPMM| is an optional microarchitectural power management mechanism supported by
  4. some Arm Armv9-A cores, beginning with the Cortex-X2, Cortex-A710 and
  5. Cortex-A510 cores. This mechanism detects and limits high-activity events to
  6. assist in |SoC| processor power domain dynamic power budgeting and limit the
  7. triggering of whole-rail (i.e. clock chopping) responses to overcurrent
  8. conditions.
  9. |MPMM| is enabled on a per-core basis by the EL3 runtime firmware. The presence
  10. of |MPMM| cannot be determined at runtime by the firmware, and therefore the
  11. platform must expose this information through one of two possible mechanisms:
  12. - |FCONF|, controlled by the ``ENABLE_MPMM_FCONF`` build option.
  13. - A platform implementation of the ``plat_mpmm_topology`` function (the
  14. default).
  15. See :ref:`Maximum Power Mitigation Mechanism (MPMM) Bindings` for documentation
  16. on the |FCONF| device tree bindings.
  17. .. warning::
  18. |MPMM| exposes gear metrics through the auxiliary |AMU| counters. An
  19. external power controller can use these metrics to budget SoC power by
  20. limiting the number of cores that can execute higher-activity workloads or
  21. switching to a different DVFS operating point. When this is the case, the
  22. |AMU| counters that make up the |MPMM| gears must be enabled by the EL3
  23. runtime firmware - please see :ref:`Activity Monitor Auxiliary Counters` for
  24. documentation on enabling auxiliary |AMU| counters.