summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDelphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>2024-05-06 18:46:57 +0300
committerPatrick Williams <patrick@stwcx.xyz>2024-05-06 23:20:25 +0300
commite28e279b53674daeba6d612d219ae4d8c6417428 (patch)
tree0c2474508ad877f613c28a27653e0c117f5d37a4
parent307a0efbef42678f5ec87321cc967a05612d82b7 (diff)
downloadopenbmc-e28e279b53674daeba6d612d219ae4d8c6417428.tar.xz
meta-facebook: yosemite4: Modified code for power policy
Summary: We will using power control patch from gerrit 69903, so we add patch here. Modifed power policy behavior. Avoid gating DVT build. Motivation: Avoid power policy fail because of failed with result 'start-limit-hit'. Test Plan: 1. Build and test pass on YV4 system. pass Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> Change-Id: I2c2f4eba3a5757264ed2443b82266ef08cd407ae
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle3
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle@.service1
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron41
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron@.service1
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweron3
5 files changed, 26 insertions, 23 deletions
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle
index 65b990041b..3bd56521f7 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle
@@ -48,10 +48,11 @@ chassis-power-cycle()
if [ "$chassis_status" == "$STATE_ON" ]
then
busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_ON_PROPERTY"
+ /usr/libexec/phosphor-state-manager/wait-until-mctp-connection-done "$CHASSIS_ID" && systemctl restart "phosphor-discover-system-state@$CHASSIS_ID.service"
exit 0;
else
busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_OFF_PROPERTY"
- exit 0;
+ exit 1;
fi
fi
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle@.service b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle@.service
index eb11752fc6..a8a110e4d1 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle@.service
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle@.service
@@ -4,7 +4,6 @@ Description=Chassis Power Cycle: %i
[Service]
Type=oneshot
ExecStart=/usr/libexec/phosphor-state-manager/chassis-powercycle %i
-ExecStartPost=/bin/bash -c "/usr/libexec/phosphor-state-manager/wait-until-mctp-connection-done %i && systemctl restart phosphor-discover-system-state@%i.service"
[Install]
WantedBy=obmc-chassis-powercycle@%i.target
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron
index 9ef3c587d6..511b3f147d 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron
@@ -17,31 +17,32 @@ IO_EXP_SLOT_PWR_CTRL=$((IO_EXP_SLOT_PWR_STATUS + 8))
# Server 12v power on
chassis-power-on()
{
- if ! gpioset "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_CTRL"=0
- then
- echo "Failed to set slot$1 power on"
- fi
- sleep 1
+ if ! gpioset "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_CTRL"=0
+ then
+ echo "Failed to set slot$1 power on"
+ fi
+ sleep 1
- # Check chassis status after doing 12V on
- chassis_status=$(gpioget "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_STATUS")
- if [ "$chassis_status" == "$STATE_ON" ]
- then
- busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_ON_PROPERTY"
- echo "Chassis is power on"
- else
- busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_OFF_PROPERTY"
- echo "Chassis is power off"
- exit 0;
- fi
+ # Check chassis status after doing 12V on
+ chassis_status=$(gpioget "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_STATUS")
+ if [ "$chassis_status" == "$STATE_ON" ]
+ then
+ busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_ON_PROPERTY"
+ echo "Chassis is power on"
+ else
+ busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_OFF_PROPERTY"
+ echo "Chassis is power off"
+ exit 0;
+ fi
}
chassis_status=$(gpioget "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_STATUS")
if [ "$chassis_status" == "$STATE_OFF" ]
then
- chassis-power-on
- exit 0;
+ chassis-power-on
+ /usr/libexec/phosphor-state-manager/wait-until-mctp-connection-done "$CHASSIS_ID" && systemctl restart "phosphor-discover-system-state@$CHASSIS_ID.service"
+ exit 0;
else
- echo "Chassis is already on"
- exit 0;
+ echo "Chassis is already on"
+ exit 0;
fi
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron@.service b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron@.service
index 2345ecfdad..f7067415e9 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron@.service
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron@.service
@@ -4,7 +4,6 @@ Description=power on chassis:%i
[Service]
Type=oneshot
ExecStart=/usr/libexec/phosphor-state-manager/chassis-poweron %i
-ExecStartPost=/bin/bash -c "/usr/libexec/phosphor-state-manager/wait-until-mctp-connection-done %i && systemctl restart phosphor-discover-system-state@%i.service"
[Install]
WantedBy=obmc-chassis-poweron@%i.target
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweron b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweron
index 43877c7628..82019a841a 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweron
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweron
@@ -2,10 +2,13 @@
# Provide source directive to shellcheck.
# shellcheck source=meta-facebook/meta-greatlakes/recipes-phosphor/state/phosphor-state-manager/power-cmd
+CHASSIS_ID=$1
source /usr/libexec/phosphor-state-manager/power-cmd
# TODO: check power status before do power on
# Set state effecter state: Entity ID 0x0000 for host power control, 0x1 for power on
+/usr/libexec/phosphor-state-manager/wait-until-mctp-connection-done "$CHASSIS_ID"
+
EID=$(($1*10))
if ! pldmtool raw -d 0x80 0x02 0x39 0x00 0x00 0x01 0x00 0x01 -m "$EID"
then