Lines Matching +full:de +full:- +full:assertion
2 // Copyright (c) 2018-2025 Intel Corporation
8 // http://www.apache.org/licenses/LICENSE-2.0
19 #include <systemd/sd-journal.h>
28 #include <phosphor-logging/lg2.hpp>
46 static const std::string appName = "power-control";
169 // Time power OK assertion on power-on
171 // Time SIO power good assertion on power-on
173 // Time power-off state save for power loss tracking
181 // Map containing timers used for D-Bus get-property retries
214 conn->async_method_call( in beep()
261 osIface->set_property("OperatingSystemState", in setOperatingSystemState()
361 return "power OK de-assert"; in getEventName()
367 return "SIO power good de-assert"; in getEventName()
373 return "SIO S5 de-assert"; in getEventName()
379 return "PLT_RST de-assert"; in getEventName()
385 return "POST Complete de-assert"; in getEventName()
403 return "graceful power-off timer expired"; in getEventName()
406 return "power-on request"; in getEventName()
409 return "power-off request"; in getEventName()
412 return "power-cycle request"; in getEventName()
418 return "graceful power-off request"; in getEventName()
421 return "graceful power-cycle request"; in getEventName()
586 chassisSlotIface->set_property("CurrentPowerState", in setSlotPowerState()
588 chassisSlotIface->set_property("LastStateChangeTime", getCurrentTimeMs()); in setSlotPowerState()
602 lg2::error("Power-state save async_wait failed: {ERROR_MSG}", in savePowerState()
616 hostIface->set_property("CurrentHostState", in setPowerState()
619 chassisIface->set_property("CurrentPowerState", in setPowerState()
621 chassisIface->set_property("LastStateChangeTime", getCurrentTimeMs()); in setPowerState()
681 restartCauseIface->set_property("RestartCause", cause); in setRestartCauseProperty()
690 conn->async_method_call( in resetACBootProperty()
852 return val->get<std::string>(); in get()
930 powerRestore->setProperties(properties); in powerRestoreConfigHandler()
941 powerRestore->setProperties(propertiesChanged); in powerRestoreConfigHandler()
975 conn->async_method_call( in run()
989 conn->async_method_call( in run()
1062 int delay = powerRestoreDelay - ubootSeconds; in invokeIfReady()
1067 delay -= info.uptime; in invokeIfReady()
1159 // TODO: throw here to force power-control to in waitForGPIOEvent()
1283 return -1; in setGPIOOutputForMs()
1330 return -1; in slotPowerOn()
1336 return -1; in slotPowerOn()
1354 return -1; in slotPowerOff()
1360 return -1; in slotPowerOff()
1400 // If the force off timer expires, then the power-button override failed in forcePowerOff()
1414 lg2::error("Power-button override failed. Not sure what to do now."); in forcePowerOff()
1425 lg2::info("Graceful power-off timer started"); in gracefulPowerOffTimerStart()
1435 lg2::error("Graceful power-off async_wait failed: {ERROR_MSG}", in gracefulPowerOffTimerStart()
1438 lg2::info("Graceful power-off timer canceled"); in gracefulPowerOffTimerStart()
1441 lg2::info("Graceful power-off timer completed"); in gracefulPowerOffTimerStart()
1448 lg2::info("Power-cycle timer started"); in powerCycleTimerStart()
1458 lg2::error("Power-cycle async_wait failed: {ERROR_MSG}", in powerCycleTimerStart()
1461 lg2::info("Power-cycle timer canceled"); in powerCycleTimerStart()
1464 lg2::info("Power-cycle timer completed"); in powerCycleTimerStart()
1518 // Set the time-out as 1 hour, to align with POH command in ipmid in pohCounterTimerStart()
1540 conn->async_method_call( in pohCounterTimerStart()
1556 conn->async_method_call( in pohCounterTimerStart()
1624 if (properties.begin()->first != "CurrentHostState") in currentHostStateMonitor()
1629 std::get_if<std::string>(&(properties.begin()->second)); in currentHostStateMonitor()
1633 properties.begin()->first); in currentHostStateMonitor()
2059 powerButtonIface->set_property("ButtonPressed", asserted); in powerButtonHandler()
2088 resetButtonIface->set_property("ButtonPressed", asserted); in resetButtonHandler()
2118 static constexpr auto systemTargetName = "chassis-system-reset.target";
2122 conn->async_method_call( in systemReset()
2137 conn->async_method_call( in nmiSetEnableProperty()
2203 if (propertiesChanged.begin()->first == "Enabled") in nmiSourcePropertyMonitor()
2206 std::get<bool>(propertiesChanged.begin()->second); in nmiSourcePropertyMonitor()
2228 conn->async_method_call( in setNmiSource()
2256 nmiButtonIface->set_property("ButtonPressed", asserted); in nmiButtonHandler()
2274 idButtonIface->set_property("ButtonPressed", asserted); in idButtonHandler()
2342 "/usr/share/x86-power-control/power-config-host" + power_control::node + in loadConfigValues()
2349 return -1; in loadConfigValues()
2356 return -1; in loadConfigValues()
2368 return -1; in loadConfigValues()
2378 "{GPIO_NAME} is not a recognized power-control signal name", in loadConfigValues()
2380 return -1; in loadConfigValues()
2386 tempGpioData = signalMapIter->second; in loadConfigValues()
2387 tempGpioData->name = gpioName; in loadConfigValues()
2392 return -1; in loadConfigValues()
2398 tempGpioData->type = ConfigType::GPIO; in loadConfigValues()
2402 tempGpioData->type = ConfigType::DBUS; in loadConfigValues()
2406 lg2::error("{TYPE} is not a recognized power-control signal type", in loadConfigValues()
2408 return -1; in loadConfigValues()
2411 if (tempGpioData->type == ConfigType::GPIO) in loadConfigValues()
2415 tempGpioData->lineName = gpioConfig["LineName"]; in loadConfigValues()
2421 return -1; in loadConfigValues()
2428 tempGpioData->polarity = false; in loadConfigValues()
2432 tempGpioData->polarity = true; in loadConfigValues()
2439 return -1; in loadConfigValues()
2445 "GPIO_NAME", tempGpioData->lineName); in loadConfigValues()
2446 return -1; in loadConfigValues()
2460 return -1; in loadConfigValues()
2463 tempGpioData->dbusName = in loadConfigValues()
2465 tempGpioData->path = gpioConfig[dbusParams[DbusConfigType::path]]; in loadConfigValues()
2466 tempGpioData->interface = in loadConfigValues()
2468 tempGpioData->lineName = in loadConfigValues()
2471 // dbus-based inputs must be active-high. in loadConfigValues()
2472 tempGpioData->polarity = true; in loadConfigValues()
2480 tempGpioData->matchRegex = std::regex(*item); in loadConfigValues()
2486 return -1; in loadConfigValues()
2526 event = propertiesChanged.begin()->first; in getMessageValue()
2532 return std::get<T>(propertiesChanged.begin()->second); in getMessageValue()
2594 // D-Bus property read functions
2603 auto method = conn->new_method_call( in getProperty()
2609 auto reply = conn->call(method); in getProperty()
2613 "Error reading {PROPERTY} D-Bus property on interface {INTERFACE} and path {PATH}", in getProperty()
2616 return -1; in getProperty()
2626 return -1; in getProperty()
2632 lg2::error("Error: {PROPERTY} D-Bus property is not the expected type", in getProperty()
2634 return -1; in getProperty()
2644 hostIface->set_property("CurrentHostState", in setInitialValue()
2649 powerButtonIface->set_property("ButtonPressed", !initialValue); in setInitialValue()
2653 resetButtonIface->set_property("ButtonPressed", !initialValue); in setInitialValue()
2657 nmiButtonIface->set_property("ButtonPressed", !initialValue); in setInitialValue()
2661 idButtonIface->set_property("ButtonPressed", !initialValue); in setInitialValue()
2696 auto& timer = item->second; in reschedulePropertyRead()
2741 if (loadConfigValues() == -1) in main()
2754 conn->request_name(hostDbusName.c_str()); in main()
2755 conn->request_name(chassisDbusName.c_str()); in main()
2756 conn->request_name(osDbusName.c_str()); in main()
2757 conn->request_name(buttonDbusName.c_str()); in main()
2758 conn->request_name(nmiDbusName.c_str()); in main()
2759 conn->request_name(rstCauseDbusName.c_str()); in main()
2770 conn->request_name(hostDbusName.c_str()); in main()
2771 conn->request_name(chassisDbusName.c_str()); in main()
2772 conn->request_name(osDbusName.c_str()); in main()
2773 conn->request_name(buttonDbusName.c_str()); in main()
2774 conn->request_name(nmiDbusName.c_str()); in main()
2775 conn->request_name(rstCauseDbusName.c_str()); in main()
2790 return -1; in main()
2801 return -1; in main()
2813 return -1; in main()
2826 return -1; in main()
2836 return -1; in main()
2849 return -1; in main()
2858 return -1; in main()
2869 return -1; in main()
2879 return -1; in main()
2895 return -1; in main()
2949 return -1; in main()
2962 return -1; in main()
2979 return -1; in main()
2985 return -1; in main()
2993 return -1; in main()
2999 return -1; in main()
3046 hostIface->register_property( in main()
3140 hostIface->register_property("CurrentHostState", in main()
3143 hostIface->initialize(); in main()
3154 chassisIface->register_property( in main()
3214 chassisIface->register_property("CurrentPowerState", in main()
3216 chassisIface->register_property("LastStateChangeTime", getCurrentTimeMs()); in main()
3218 chassisIface->initialize(); in main()
3230 chassisSysIface->register_property( in main()
3250 chassisSysIface->register_property( in main()
3252 chassisSysIface->register_property("LastStateChangeTime", in main()
3255 chassisSysIface->initialize(); in main()
3261 return -1; in main()
3273 chassisSlotIface->register_property( in main()
3304 chassisSlotIface->register_property( in main()
3306 chassisSlotIface->register_property("LastStateChangeTime", in main()
3308 chassisSlotIface->initialize(); in main()
3322 powerButtonIface->register_property( in main()
3345 lg2::info("Power Button Un-masked"); in main()
3364 powerButtonIface->register_property("ButtonPressed", in main()
3367 powerButtonIface->initialize(); in main()
3378 resetButtonIface->register_property( in main()
3401 lg2::info("Reset Button Un-masked"); in main()
3420 resetButtonIface->register_property("ButtonPressed", in main()
3423 resetButtonIface->initialize(); in main()
3433 nmiButtonIface->register_property( in main()
3447 lg2::info("NMI Button Un-masked."); in main()
3466 nmiButtonIface->register_property("ButtonPressed", nmiButtonPressed); in main()
3468 nmiButtonIface->initialize(); in main()
3481 nmiOutIface->register_method("NMI", nmiReset); in main()
3482 nmiOutIface->initialize(); in main()
3503 idButtonIface->register_property("ButtonPressed", idButtonPressed); in main()
3505 idButtonIface->initialize(); in main()
3519 // De-Asserted, OS state is "Inactive" in main()
3534 osIface->register_property( in main()
3538 osIface->initialize(); in main()
3549 restartCauseIface->register_property( in main()
3553 restartCauseIface->register_property( in main()
3575 restartCauseIface->initialize(); in main()
3587 return -1; in main()