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. Rest looks good. Best regards, Krzysztof