From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 886E6366806 for ; Wed, 6 May 2026 15:13:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778080439; cv=none; b=c8jzfzxvYTEnP4lqVmjLskMpWPmQcW47GLQNVRawK90lE3nYuGTJhFYssXep3PETdy1ToNq4VZodtcd1BHgE43WbdtcFH1MqJAqW1O5wDnY3x1ujASuL3bdwWhEBy5tahWrMhocAhUqAK31TAnw7Q9tZu5JtHrGD/LO0YL++N9o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778080439; c=relaxed/simple; bh=Oo4i4j0mTt7dtOMl1Y8KVKIr7pZfRNebOGCP7BQL4P0=; h=Mime-Version:Content-Type:Date:Message-Id:To:Cc:Subject:From: References:In-Reply-To; b=jgMpBZCf/u1evuA2BGsa1zVB1/K+f9LRp3aYEWFbwWBgZyy3zLdYbjzgKXwgQ1vij7gkmrQqRMnzcaSNkCKS9tcUMssSTDixZsVCnxRUPRne0zMyhVktXVh2pLUTQ2aAs9RgtzpSn24yEixAH3pJTyqr2suygrKb99fr8kFE90c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=vIUtfowo; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="vIUtfowo" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-4526a8170ceso172430f8f.2 for ; Wed, 06 May 2026 08:13:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1778080436; x=1778685236; darn=vger.kernel.org; h=in-reply-to:references:from:subject:cc:to:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=kIXyjuQuCOrl0qpSAMQmNPe9xAI4vxQ6Y9W1Xz3sToY=; b=vIUtfowoWmKBAWDDOHM0mBaF5KndlEk6uNkx4WWXVRjiQQtcpEgW/7HlkMX74odaUB FuamaI4iXoEHnGU3WBl12iR7Tz7eIEdSy7pvUxh9LRL6JJNETI+DL5of41U1jhgptcwT SOZNo8Z5FRk4vn9WtDpuclhsgGR7EGx3Q3V57H6IiVx1SgFLKtoeLXAZ9wt5cMIbQzgn FsmOD/RhTSeeF67d1NeSsE8501v29GaRz12Tj9U06ewWOqmImuGtROJctMlIFtuADlmq ZQwJJLmRcP5DLaFelf3qQeiVS1gl2mREZnm5wsXLmRNovXGKPS2fjjW38XvMAy05PURu vz3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778080436; x=1778685236; h=in-reply-to:references:from:subject:cc:to:message-id:date :content-transfer-encoding:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=kIXyjuQuCOrl0qpSAMQmNPe9xAI4vxQ6Y9W1Xz3sToY=; b=T7kNcOqMUtlH6wT/gTFlqeU7xkkNhX2AqGMIE7WJEI+9zFqPIMH93d+T939p8n0T8B HddLzApR/AvGlzBhJm45P1ddLhlVQS5sWpePqj880Q6ryGBdZRRyLUSs0kBWRxa+vO66 sOHrbD0xZiNDv/Zqp+lZJMOoNByHdfwlQbgRPnKYkV0aaJwlpGljwM9MRt+mO1zLz2T4 mPJQUPJ3cChwt+d/DfbPIznU6p94V0oXDjnAYZ/qTA1HJP+DrTPS6IxhYhIfO3JnsMHk VZIfQAPgNq+9QUaFAHDA4KtiZNwk81P2zAqddqWEKGKKb2wodb+imgCba3XaHypjIzC6 XoSQ== X-Forwarded-Encrypted: i=1; AFNElJ/qVl4nzbMpjGewFv0KJixXDVixqj1PkWbKMU+reOp3748tLH7foOpT85BcmMySn16Xsxy+rJpMr6pJLwc=@vger.kernel.org X-Gm-Message-State: AOJu0YwwzgVeAykOR3MrOQs6LesuVPwd2SnQYG9VbWGaRvv9mywUgG12 lkqimOgb7jQZktIzjHUMku5jKDOaBI96LThTHPMMp8HSurmTG7OfRU3Rql8N5ubgz+c= X-Gm-Gg: AeBDiesNSaBOLjcR08yTaQyt0gathmqKfxQ1wyiPVuEtGHmqbzRnqsexx2EjzeVbl9d zssGvmX4RnBWhIo3i9o4fJ9Zf2eY4iBqoLe8skcuSnoTmfjuZQjd2UkrireUoLQw4B8M2Wd+jlY xlcS1U+mvU3obXdQ2hs37eWFqZWJn0Gt0c96kRi4PmQINs/+RbPD0F5Fg+qoZrIsMPcQojSsANR F/qXoeeTgA3pJYpVO9+taK8s4bQb94aKugVoXd3FxhOMqa1cl6LSB/oc6b7J1760LQXngFIZQfn uL3SHVqGV10U6ZsPVUv7vd6PO66MAQOB8oPA+rjnqt5iB3QFEONWr2dqlJ4m3mXzHywanUVbIVe kwv+rXcH6WfD0evwL4B4TL/nMnJGv7FwLs/CwTprqlxsJmGSTciYjuKqwHKfUGWpQId03Pw7hKe NyjS3rN76nYZelvoS8OhY77X3sm6YucLWlgdHC4pyZ++PAIvAjGY+5oPrmLRb4O5UbZnPB8gP17 E8Yze26soI4RLy+m3G8bqf1kVZb6A5frGVYw7c= X-Received: by 2002:a05:6000:288b:b0:451:26e1:3cd1 with SMTP id ffacd0b85a97d-4515d5c56bfmr6478647f8f.35.1778080435844; Wed, 06 May 2026 08:13:55 -0700 (PDT) Received: from localhost ([2a00:2381:fd67:101:da69:ce01:65af:7871]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4505238e174sm13297431f8f.1.2026.05.06.08.13.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 06 May 2026 08:13:55 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Wed, 06 May 2026 16:13:54 +0100 Message-Id: To: "Tudor Ambarus" Cc: "Krzysztof Kozlowski" , "Michael Turquette" , "Stephen Boyd" , "Lee Jones" , "Alim Akhtar" , "Sylwester Nawrocki" , "Chanwoo Choi" , =?utf-8?q?Andr=C3=A9_Draszik?= , , , , , , , , "Krzysztof Kozlowski" Subject: Re: [PATCH 5/6] firmware: samsung: acpm: Add TMU protocol support From: "Alexey Klimov" X-Mailer: aerc 0.20.0 References: <20260506-acpm-tmu-helpers-v1-0-a9cd5daf8355@linaro.org> <20260506-acpm-tmu-helpers-v1-5-a9cd5daf8355@linaro.org> In-Reply-To: <20260506-acpm-tmu-helpers-v1-5-a9cd5daf8355@linaro.org> On Wed May 6, 2026 at 12:39 PM BST, Tudor Ambarus wrote: > The Thermal Management Unit (TMU) on the Google GS101 SoC is managed > through a hybrid model shared between the kernel and the Alive Clock > and Power Manager (ACPM) firmware. > > Add the protocol helpers required to communicate with the ACPM for > thermal operations, including initialization, threshold configuration, > temperature reading, and system suspend/resume handshakes. > > Signed-off-by: Tudor Ambarus > Reviewed-by: Krzysztof Kozlowski > --- > drivers/firmware/samsung/Makefile | 1 + > drivers/firmware/samsung/exynos-acpm-tmu.c | 239 +++++++++++++++= ++++++ > drivers/firmware/samsung/exynos-acpm-tmu.h | 28 +++ > drivers/firmware/samsung/exynos-acpm.c | 12 ++ > .../linux/firmware/samsung/exynos-acpm-protocol.h | 18 ++ > 5 files changed, 298 insertions(+) > > diff --git a/drivers/firmware/samsung/Makefile b/drivers/firmware/samsung= /Makefile > index 80d4f89b33a9..5a6f72bececf 100644 > --- a/drivers/firmware/samsung/Makefile > +++ b/drivers/firmware/samsung/Makefile > @@ -3,4 +3,5 @@ > acpm-protocol-objs :=3D exynos-acpm.o > acpm-protocol-objs +=3D exynos-acpm-pmic.o > acpm-protocol-objs +=3D exynos-acpm-dvfs.o > +acpm-protocol-objs +=3D exynos-acpm-tmu.o > obj-$(CONFIG_EXYNOS_ACPM_PROTOCOL) +=3D acpm-protocol.o > diff --git a/drivers/firmware/samsung/exynos-acpm-tmu.c b/drivers/firmwar= e/samsung/exynos-acpm-tmu.c > new file mode 100644 > index 000000000000..c68d60b4c0b3 > --- /dev/null > +++ b/drivers/firmware/samsung/exynos-acpm-tmu.c [..] > +static int acpm_tmu_to_linux_err(s8 fw_err) > +{ > + /* > + * ACPM_TMU_INIT uses BIT(0) and BIT(1) of msg.rx.ret to flag APM > + * capabilities. Treat zero and all positive values as success. ACPM_TMU_INIT returns capabilities inside designated error field? What about other messages/commands? They just return error code there? > + */ > + if (fw_err >=3D 0) > + return 0; > + > + if (fw_err =3D=3D -1) > + return -EACCES; > + > + return -EIO; > +} Could we map these return values with better granularity instead of returning -EIO for everything else that is not minus one? Is this error code convertation applies only to TMU protocol? [...] Best regards, Alexey