Skip to content

Commit

Permalink
hw-mgmt: scripts: Fix hotplug events for dpu
Browse files Browse the repository at this point in the history
DPU power/health events were not updated in the
/var/run/hw-management/dpu*/events folder. It was due to
the fact that attributes did not have the dpu slot number
in the attribute name. This patch introduces a new tag
'hotplug-dpu-event' and an action function to find out
the dpu slot number, which is used to derive the event
attribute path.

Signed-off-by: Ciju Rajan K <[email protected]>
  • Loading branch information
ciju-nvidia committed Feb 16, 2024
1 parent 0058d3e commit c4ee6df
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 28 deletions.
56 changes: 28 additions & 28 deletions usr/lib/udev/rules.d/50-hw-management-events-dpu.rules
Original file line number Diff line number Diff line change
Expand Up @@ -59,36 +59,36 @@ SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/mlxreg-hotplug/hwmon/hwm
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/mlxreg-hotplug/hwmon/hwmon*", ENV{DPU4_SHTDN_READY}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event DPU4_SHTDN_READY 1"

# DPU power events.
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDDIO}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_VDDIO 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDDIO}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_VDDIO 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDD_CPU}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_VDD_CPU 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDD_CPU}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_VDD_CPU 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDD}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_VDD 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDD}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_VDD 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_1V8}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_1V8 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_1V8}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_1V8 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_COMPARATOR}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_COMPARATOR 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_COMPARATOR}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_COMPARATOR 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDDQ}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_VDDQ 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDDQ}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_VDDQ 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_HVDD}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_HVDD 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_HVDD}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_HVDD 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_DVDD}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_DVDD 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_DVDD}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event PG_DVDD 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDDIO}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_VDDIO 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDDIO}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_VDDIO 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDD_CPU}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_VDD_CPU 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDD_CPU}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_VDD_CPU 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDD}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_VDD 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDD}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_VDD 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_1V8}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_1V8 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_1V8}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_1V8 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_COMPARATOR}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_COMPARATOR 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_COMPARATOR}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_COMPARATOR 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDDQ}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_VDDQ 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_VDDQ}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_VDDQ 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_HVDD}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_HVDD 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_HVDD}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_HVDD 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_DVDD}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_DVDD 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{PG_DVDD}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event PG_DVDD 1 %S %p"

# DPU health events
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{UFM_UPGRADE_DONE}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event UFM_UPGRADE_DONE 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{UFM_UPGRADE_DONE}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event UFM_UPGRADE_DONE 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDDQ_HOT_ALERT}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event VDDQ_HOT_ALERT 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDDQ_HOT_ALERT}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event VDDQ_HOT_ALERT 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDD_CPU_HOT_ALERT}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event VDD_CPU_HOT_ALERT 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDD_CPU_HOT_ALERT}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event VDD_CPU_HOT_ALERT 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDDQ_ALERT}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event VDDQ_ALERT 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDDQ_ALERT}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event VDDQ_ALERT 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDD_CPU_ALERT}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event VDD_CPU_ALERT 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDD_CPU_ALERT}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event VDD_CPU_ALERT 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{THERMAL_TRIP}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event THERMAL_TRIP 0"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{THERMAL_TRIP}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-event THERMAL_TRIP 1"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{UFM_UPGRADE_DONE}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event UFM_UPGRADE_DONE 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{UFM_UPGRADE_DONE}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event UFM_UPGRADE_DONE 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDDQ_HOT_ALERT}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event VDDQ_HOT_ALERT 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDDQ_HOT_ALERT}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event VDDQ_HOT_ALERT 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDD_CPU_HOT_ALERT}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event VDD_CPU_HOT_ALERT 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDD_CPU_HOT_ALERT}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event VDD_CPU_HOT_ALERT 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDDQ_ALERT}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event VDDQ_ALERT 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDDQ_ALERT}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event VDDQ_ALERT 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDD_CPU_ALERT}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event VDD_CPU_ALERT 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{VDD_CPU_ALERT}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event VDD_CPU_ALERT 1 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{THERMAL_TRIP}=="0", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event THERMAL_TRIP 0 %S %p"
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-hotplug.*/hwmon/hwmon*", ENV{THERMAL_TRIP}=="1", ACTION=="change", RUN+="/usr/bin/hw-management-chassis-events.sh hotplug-dpu-event THERMAL_TRIP 1 %S %p"

# Register space IO access attributes.
SUBSYSTEM=="hwmon", DEVPATH=="/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-0068/mlxreg-io.*/hwmon/hwmon*", ACTION=="add", RUN+="/usr/bin/hw-management-chassis-events.sh add regio %S %p"
Expand Down
26 changes: 26 additions & 0 deletions usr/usr/bin/hw-management-chassis-events.sh
Original file line number Diff line number Diff line change
Expand Up @@ -549,6 +549,26 @@ function handle_hotplug_fan_event()
fi
}

function handle_hotplug_dpu_event()
{
local dpu_i2c_path
local slot_num
local event
local attribute
local dpu_event_path

attribute=$(echo "$1" | awk '{print tolower($0)}')
event=$2
dpu_i2c_path=$(echo "$3""$4" | rev | cut -d'/' -f4- | rev)
slot_num=$(find_dpu_slot "$dpu_i2c_path")
dpu_event_path="$hw_management_path"/dpu"$slot_num"/events/"$attribute"

if [ -f "${dpu_event_path}" ]; then
echo "$event" > "${dpu_event_path}"
log_info "Event ${event} is received for DPU: ${slot_num} attribute ${attribute}"
fi
}

function handle_hotplug_event()
{
local attribute
Expand Down Expand Up @@ -1235,6 +1255,12 @@ elif [ "$1" == "hotplug-event" ]; then
exit 0
fi
handle_hotplug_event "${2}" "${3}"
elif [ "$1" == "hotplug-dpu-event" ]; then
# Don't process udev events until service is started and directories are created
if [ ! -f ${udev_ready} ]; then
exit 0
fi
handle_hotplug_dpu_event "${2}" "${3}" "${4}" "${5}"
elif [ "$1" == "fantray-led-event" ]; then
# Don't process udev events until service is started and directories are created.
if [ ! -f "${udev_ready}" ]; then
Expand Down

0 comments on commit c4ee6df

Please sign in to comment.