From dbfd3e2619656925479a8ff5f095d08f2d8c1d06 Mon Sep 17 00:00:00 2001 From: Fredrik Silfver <1684291+freber@users.noreply.github.com> Date: Fri, 13 Nov 2026 13:36:33 +0100 Subject: [PATCH] hwmon: macsmc: SoC die keys for the 15-inch M3 MacBook Air The J615 has no entry in the board table, so the GPU's thermal limit finds no SoC die temperature zone and holds the runtime cap at state 2 (618 MHz). The J615 is the same T8122 as the J613. Its SMC has all twelve of the J613's die keys. Loading the module with those keys as soc_die_keys= reports "12 of 12 listed keys present". The asahi governor then reads the zone. Give the J615 the J613's die keys. The pressure key is left out because mTPL has not been checked on this board. Tested on a MacBook Air (15-inch, M3, 2024), j615, 10 GPU cores, linux-aurora 7.2.11.aurora16-1, OS firmware 14.7, system firmware 26.6.2. With the keys set through soc_die_keys=, macsmc_soc_die reads 58 to 70 C at idle and light desktop use. The setting survives reboots via modprobe.d. The GPU response of the individual Tg keys under load was not measured on this board. Assisted-by: Claude:claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 Signed-off-by: Fredrik Silfver <1684291+freber@users.noreply.github.com> --- drivers/hwmon/macsmc-hwmon.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/hwmon/macsmc-hwmon.c b/drivers/hwmon/macsmc-hwmon.c index 7e0a2312d2d292..008096b3aba6db 100644 --- a/drivers/hwmon/macsmc-hwmon.c +++ b/drivers/hwmon/macsmc-hwmon.c @@ -119,6 +119,14 @@ static const struct macsmc_hwmon_board { .die_keys = "Tg0D,Tg0P,Tg0X,Tg0b,Tg0j,Tg0v,Te05,Te0P,Tp05,Tp0L,Tp0b,Tp0r", .pressure_key = "mTPL", }, + /* + * MacBook Air (15-inch, M3): the same T8122 as the J613, and its SMC + * has all twelve of the J613's die keys. + */ + { + .compatible = "apple,j615", + .die_keys = "Tg0D,Tg0P,Tg0X,Tg0b,Tg0j,Tg0v,Te05,Te0P,Tp05,Tp0L,Tp0b,Tp0r", + }, }; static bool macsmc_hwmon_is_m3(void)