#!/bin/sh
# ---------------- CONFIG ----------------
# Temperature threshold in millidegrees Celsius
# 55000 = 55°C
TEMP_THRESHOLD=55000

# PWM values (0–255)
PWM_IDLE=25      # fan speed below threshold 
PWM_HOT=90      # fan speed above threshold 

# ---------------------------------------

# Find the AMD card (vendor 0x1002), then its hwmon — no hardcoded cardN.
HWMON=""
for c in /sys/class/drm/card[0-9]*; do
  [ "$(cat "$c/device/vendor" 2>/dev/null)" = "0x1002" ] || continue
  HWMON="$(ls -d "$c"/device/hwmon/hwmon* 2>/dev/null | head -n1)"
  break
done
[ -z "$HWMON" ] && exit 0

TEMP_FILE="$HWMON/temp1_input"
PWM_ENABLE="$HWMON/pwm1_enable"
PWM_FILE="$HWMON/pwm1"

# Enable manual fan control (always)
echo 1 > "$PWM_ENABLE"

# Read temperature
TEMP="$(cat "$TEMP_FILE")"

# Decide PWM
if [ "$TEMP" -ge "$TEMP_THRESHOLD" ]; then
    PWM="$PWM_HOT"
else
    PWM="$PWM_IDLE"
fi

# Always write PWM
echo "$PWM" > "$PWM_FILE"

exit 0
