/** * Should Application Power Management (APM) be enabled * * @param[in] PlatformConfig Contains the runtime modifiable feature input data. * @param[in] StdHeader Config Handle for library, services. * * @retval TRUE APM is supported. * @retval FALSE APM cannot be enabled. * */ BOOLEAN STATIC IsApmFeatureEnabled ( IN PLATFORM_CONFIGURATION *PlatformConfig, IN AMD_CONFIG_PARAMS *StdHeader ) { UINT32 Socket; BOOLEAN IsEnabled; APM_FAMILY_SERVICES *FamilyServices; IsEnabled = FALSE; for (Socket = 0; Socket < GetPlatformNumberOfSockets (); Socket++) { if (IsProcessorPresent (Socket, StdHeader)) { GetFeatureServicesOfSocket (&ApmFamilyServiceTable, Socket, (CONST VOID **)&FamilyServices, StdHeader); if (FamilyServices != NULL) { if (FamilyServices->IsApmSupported (FamilyServices, PlatformConfig, Socket, StdHeader)) { IsEnabled = TRUE; break; } } } } return IsEnabled; }
/** * Should Application Power Management (APM) be enabled * * @param[in] PlatformConfig Contains the runtime modifiable feature input data. * @param[in] StdHeader Config Handle for library, services. * * @retval TRUE APM is supported. * @retval FALSE APM cannot be enabled. * */ BOOLEAN IsApmFeatureEnabled ( IN PLATFORM_CONFIGURATION *PlatformConfig, IN AMD_CONFIG_PARAMS *StdHeader ) { BOOLEAN IsEnabled; APM_FAMILY_SERVICES *FamilyServices; IsEnabled = FALSE; GetFeatureServicesOfCurrentCore (&ApmFamilyServiceTable, (CONST VOID **)&FamilyServices, StdHeader); if (FamilyServices != NULL) { if (FamilyServices->IsApmSupported (FamilyServices, PlatformConfig, StdHeader)) { IsEnabled = TRUE; } } return IsEnabled; }