On 8/24/25 6:11 PM, Krzysztof Kozlowski wrote: > On 19/08/2025 13:45, Tudor Ambarus wrote: >> Add ACPM DVFS protocol handler. It constructs DVFS messages that >> the APM firmware can understand. >> >> Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx> >> --- >> drivers/firmware/samsung/Makefile | 4 +- >> drivers/firmware/samsung/exynos-acpm-dvfs.c | 85 ++++++++++++++++++++++ >> drivers/firmware/samsung/exynos-acpm-dvfs.h | 21 ++++++ >> drivers/firmware/samsung/exynos-acpm.c | 5 ++ >> .../linux/firmware/samsung/exynos-acpm-protocol.h | 10 +++ >> 5 files changed, 124 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/firmware/samsung/Makefile b/drivers/firmware/samsung/Makefile >> index 7b4c9f6f34f54fd731886d97a615fe1aa97ba9a0..80d4f89b33a9558b68c9083da675c70ec3d05f19 100644 >> --- a/drivers/firmware/samsung/Makefile >> +++ b/drivers/firmware/samsung/Makefile >> @@ -1,4 +1,6 @@ >> # SPDX-License-Identifier: GPL-2.0-only >> >> -acpm-protocol-objs := exynos-acpm.o exynos-acpm-pmic.o >> +acpm-protocol-objs := exynos-acpm.o >> +acpm-protocol-objs += exynos-acpm-pmic.o >> +acpm-protocol-objs += exynos-acpm-dvfs.o >> obj-$(CONFIG_EXYNOS_ACPM_PROTOCOL) += acpm-protocol.o >> diff --git a/drivers/firmware/samsung/exynos-acpm-dvfs.c b/drivers/firmware/samsung/exynos-acpm-dvfs.c >> new file mode 100644 >> index 0000000000000000000000000000000000000000..ee457c1a3de2ff2e4395d9fc3ff4c13294473b2d >> --- /dev/null >> +++ b/drivers/firmware/samsung/exynos-acpm-dvfs.c >> @@ -0,0 +1,85 @@ >> +// SPDX-License-Identifier: GPL-2.0-only >> +/* >> + * Copyright 2020 Samsung Electronics Co., Ltd. >> + * Copyright 2020 Google LLC. >> + * Copyright 2025 Linaro Ltd. >> + */ >> + >> +#include <linux/bitfield.h> >> +#include <linux/firmware/samsung/exynos-acpm-protocol.h> >> +#include <linux/ktime.h> >> +#include <linux/types.h> >> +#include <linux/units.h> >> + >> +#include "exynos-acpm.h" >> +#include "exynos-acpm-dvfs.h" >> + >> +#define ACPM_DVFS_ID GENMASK(11, 0) >> +#define ACPM_DVFS_REQ_TYPE GENMASK(15, 0) >> + >> +enum exynos_acpm_dvfs_func { >> + ACPM_DVFS_FREQ_REQ, >> + ACPM_DVFS_FREQ_GET, >> +}; > > These are actual values for hardware/firmware? If so, please use rather > defines. yes, they are. Will do, thanks!