summaryrefslogtreecommitdiff
path: root/meta-quanta/meta-gbs/recipes-quanta/fans
diff options
context:
space:
mode:
Diffstat (limited to 'meta-quanta/meta-gbs/recipes-quanta/fans')
-rw-r--r--meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in (renamed from meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json)97
-rw-r--r--meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh71
-rw-r--r--meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend9
3 files changed, 91 insertions, 86 deletions
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
index e28c0be0f..a5ff4979b 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
@@ -2,7 +2,7 @@
"sensors" : [
{
"name": "cputemp",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/cputemp",
"parameters": {
@@ -17,12 +17,12 @@
},
{
"name": "nvme0",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme0",
"parameters": {
"type": "",
- "maxTemp": WCTemp00,
+ "maxTemp": @WCTemp00@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -32,12 +32,12 @@
},
{
"name": "nvme1",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme1",
"parameters": {
"type": "",
- "maxTemp": WCTemp01,
+ "maxTemp": @WCTemp01@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -47,12 +47,12 @@
},
{
"name": "nvme2",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme2",
"parameters": {
"type": "",
- "maxTemp": WCTemp02,
+ "maxTemp": @WCTemp02@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -62,12 +62,12 @@
},
{
"name": "nvme3",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme3",
"parameters": {
"type": "",
- "maxTemp": WCTemp03,
+ "maxTemp": @WCTemp03@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -77,12 +77,12 @@
},
{
"name": "nvme4",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme4",
"parameters": {
"type": "",
- "maxTemp": WCTemp04,
+ "maxTemp": @WCTemp04@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -92,12 +92,12 @@
},
{
"name": "nvme5",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme5",
"parameters": {
"type": "",
- "maxTemp": WCTemp05,
+ "maxTemp": @WCTemp05@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -107,12 +107,12 @@
},
{
"name": "nvme6",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme6",
"parameters": {
"type": "",
- "maxTemp": WCTemp06,
+ "maxTemp": @WCTemp06@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -122,12 +122,12 @@
},
{
"name": "nvme7",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme7",
"parameters": {
"type": "",
- "maxTemp": WCTemp07,
+ "maxTemp": @WCTemp07@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -137,12 +137,12 @@
},
{
"name": "nvme8",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme8",
"parameters": {
"type": "",
- "maxTemp": WCTemp08,
+ "maxTemp": @WCTemp08@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -152,12 +152,12 @@
},
{
"name": "nvme9",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme9",
"parameters": {
"type": "",
- "maxTemp": WCTemp09,
+ "maxTemp": @WCTemp09@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -167,12 +167,12 @@
},
{
"name": "nvme10",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme10",
"parameters": {
"type": "",
- "maxTemp": WCTemp10,
+ "maxTemp": @WCTemp10@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -182,12 +182,12 @@
},
{
"name": "nvme11",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme11",
"parameters": {
"type": "",
- "maxTemp": WCTemp11,
+ "maxTemp": @WCTemp11@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -197,12 +197,12 @@
},
{
"name": "nvme12",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme12",
"parameters": {
"type": "",
- "maxTemp": WCTemp12,
+ "maxTemp": @WCTemp12@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -212,12 +212,12 @@
},
{
"name": "nvme13",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme13",
"parameters": {
"type": "",
- "maxTemp": WCTemp13,
+ "maxTemp": @WCTemp13@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -227,12 +227,12 @@
},
{
"name": "nvme14",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme14",
"parameters": {
"type": "",
- "maxTemp": WCTemp14,
+ "maxTemp": @WCTemp14@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -242,12 +242,12 @@
},
{
"name": "nvme15",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/nvme15",
"parameters": {
"type": "",
- "maxTemp": WCTemp15,
+ "maxTemp": @WCTemp15@,
"path": "",
"sysLabel": "",
"targetTemp": -1,
@@ -257,7 +257,7 @@
},
{
"name": "vddcr_cpu",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/vddcr_cpu",
"parameters": {
@@ -272,7 +272,7 @@
},
{
"name": "vddcr_soc",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/vddcr_soc",
"parameters": {
@@ -287,7 +287,7 @@
},
{
"name": "vddio_abcd",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/vddio_abcd",
"parameters": {
@@ -302,7 +302,7 @@
},
{
"name": "vddio_efgh",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/vddio_efgh",
"parameters": {
@@ -317,7 +317,7 @@
},
{
"name": "p12v_mobo",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/p12v_mobo",
"parameters": {
@@ -332,7 +332,7 @@
},
{
"name": "powerseq_temp",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/powerseq_temp",
"parameters": {
@@ -347,7 +347,7 @@
},
{
"name": "p12v_fan",
- "unit": "millidegree",
+ "unit": "degree",
"type": "dbus",
"path": "/xyz/openbmc_project/sensors/temperature/p12v_fan",
"parameters": {
@@ -391,22 +391,7 @@
"zoneSetpoint": 10000,
"target": "/xyz/openbmc_project/extsensors/margin/nvme",
"components": [
- "nvme0",
- "nvme1",
- "nvme2",
- "nvme3",
- "nvme4",
- "nvme5",
- "nvme6",
- "nvme7",
- "nvme8",
- "nvme9",
- "nvme10",
- "nvme11",
- "nvme12",
- "nvme13",
- "nvme14",
- "nvme15"
+ @nvmeList@
]
},
{
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
index d0cb2f632..0937a9fb8 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
@@ -1,50 +1,69 @@
#!/bin/bash
-MARGIN_TABLE_FILE="/usr/share/read-margin-temp/config-margin.json"
+MARGIN_TABLE_FILE_IN="/usr/share/read-margin-temp/config-margin.json.in"
+TEMP_FILE="$(mktemp)"
+cp "$MARGIN_TABLE_FILE_IN" "$TEMP_FILE"
-target_num="$(cat $MARGIN_TABLE_FILE | grep '"target"' | wc -l)"
-
-cpu_hwmon="$(ls -la /sys/class/hwmon | grep f0082000 | head -n 1 | tail -n +1 | cut -d '/' -f 11)"
-
-# replace by the real cpu temperature hwmon path in runtime
-if [[ "$cpu_hwmon" != "" ]]
-then
- sed -i "s/cpu_hwmon/$cpu_hwmon/g" $MARGIN_TABLE_FILE
-fi
+target_num="$(cat $TEMP_FILE | grep '"target"' | wc -l)"
# wait target dbus
-for ((i=0; i<$target_num; i++))
-do
+for ((i = 0; i < ${target_num}; i++)); do
line_num=$((i+1))
- path="$(cat $MARGIN_TABLE_FILE | grep '"target"' | head -n ${line_num} | tail -n +${line_num} | cut -d '"' -f 4)"
+ path="$(cat $TEMP_FILE | grep '"target"' | head -n ${line_num} | tail -n +${line_num} | cut -d '"' -f 4)"
mapper wait $path
done
nvmePath="/xyz/openbmc_project/sensors/temperature/nvme"
nvmeInventoryPath="/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme"
+nvmeList=""
# Get and Set WCTEMP
for ((i = 0; i < 16; i++)); do
- name=WCTemp$(printf "%02d" $i)
+ name="@WCTemp$(printf "%02d" $i)@"
wcTemp=72000
- presentState=$(busctl get-property \
+ presentState="$(busctl get-property \
xyz.openbmc_project.Inventory.Manager \
${nvmeInventoryPath}${i} \
xyz.openbmc_project.Inventory.Item \
- Present | awk '{print $2}')
-
- if [[ $presentState == "true" ]]; then
- wcTemp=$(
- busctl get-property xyz.openbmc_project.nvme.manager \
- ${nvmePath}${i} \
- xyz.openbmc_project.Sensor.Threshold.Critical \
- CriticalHigh | awk '{print $2}'
- )
- wcTemp=$((wcTemp * 1000))
+ Present | awk '{print $2}')"
+
+ if [[ "$presentState" == "true" ]]; then
+ actualWCTemp=0
+ for ((j = 0; j < 3; j++)); do
+ actualWCTemp="$(
+ busctl get-property xyz.openbmc_project.nvme.manager \
+ ${nvmePath}${i} \
+ xyz.openbmc_project.Sensor.Threshold.Critical \
+ CriticalHigh | awk '{print $2}'
+ )"
+ if [[ "${actualWCTemp}" -ne 0 ]]; then
+ break
+ fi
+
+ echo "${nvmePath}${i} WCTemp was read to be 0, retrying after 1 sec sleep"
+ sleep 1
+ done
+
+ if [[ "${actualWCTemp}" -ne 0 ]]; then
+ wcTemp="$((actualWCTemp * 1000))"
+ else
+ echo "${nvmePath}${i} WCTemp was read to be 0, using default WCTemp: ${wcTemp}"
+ fi
+
+ if [[ -z "$nvmeList" ]]; then
+ nvmeList="\"nvme"${i}"\""
+ else
+ nvmeList="${nvmeList}"", \"nvme"${i}"\""
+ fi
fi
- sed -i "s/$name/${wcTemp}/g" $MARGIN_TABLE_FILE
+ sed -i "s/$name/${wcTemp}/g" "$TEMP_FILE"
done
+sed -i "s/@nvmeList@/${nvmeList}/g" "$TEMP_FILE"
+
+# Use shell parameter expansion to trim the ".in" suffix
+mv "$TEMP_FILE" "${MARGIN_TABLE_FILE_IN%".in"}"
+
# start read margin temp
/usr/bin/read-margin-temp &
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend
index b3fc4d221..981c0d2ca 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend
@@ -1,16 +1,17 @@
FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:"
-SRC_URI_append_gbs = " file://config-margin.json \
+
+SRC_URI_append_gbs = " file://config-margin.json.in \
file://read-margin-temp-wait.sh \
"
FILES_${PN}_append_gbs = " ${bindir}/read-margin-temp-wait.sh"
-FILES_${PN}_append_gbs = " ${datadir}/read-margin-temp/config-margin.json"
+FILES_${PN}_append_gbs = " ${datadir}/read-margin-temp/config-margin.json.in"
do_install_append_gbs() {
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/read-margin-temp-wait.sh ${D}${bindir}
install -d ${D}${datadir}/read-margin-temp
- install -m 0644 -D ${WORKDIR}/config-margin.json \
- ${D}${datadir}/read-margin-temp/config-margin.json
+ install -m 0644 -D ${WORKDIR}/config-margin.json.in \
+ ${D}${datadir}/${PN}/
}