MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
EFI_MM_PERIODIC_TIMER_REGISTER_CONTEXT Struct Reference

Data Fields

UINT64 Period
 
UINT64 MmiTickInterval
 

Detailed Description

Example: A chipset supports periodic MMIs on every 64ms or 2 seconds. A child wishes schedule a period MMI to fire on a period of 3 seconds, there are several ways to approach the problem:

  1. The child may accept a 4 second periodic rate, in which case it registers with Period = 40000 MmiTickInterval = 20000 The resulting MMI will occur every 2 seconds with the child called back on every 2nd MMI. NOTE: the same result would occur if the child set MmiTickInterval = 0.
  2. The child may choose the finer granularity MMI (64ms): Period = 30000 MmiTickInterval = 640 The resulting MMI will occur every 64ms with the child called back on every 47th MMI. NOTE: the child driver should be aware that this will result in more MMIs occuring during system runtime which can negatively impact system performance.

Field Documentation

UINT64 EFI_MM_PERIODIC_TIMER_REGISTER_CONTEXT::MmiTickInterval

The period of time interval between MMIs. Children of this interface should use this field when registering for periodic timer intervals when a finer granularity periodic MMI is desired.

UINT64 EFI_MM_PERIODIC_TIMER_REGISTER_CONTEXT::Period

The minimum period of time in 100 nanosecond units that the child gets called. The child will be called back after a time greater than the time Period.