[PATCH v2 0/6] firmware: samsung: acpm: TMU support and cleanups

Tudor Ambarus posted 6 patches 4 weeks ago
drivers/clk/samsung/clk-acpm.c                     |   8 +-
drivers/firmware/samsung/Makefile                  |   1 +
drivers/firmware/samsung/exynos-acpm-dvfs.c        |  20 +-
drivers/firmware/samsung/exynos-acpm-pmic.c        |  20 +-
drivers/firmware/samsung/exynos-acpm-tmu.c         | 239 +++++++++++++++++++++
drivers/firmware/samsung/exynos-acpm-tmu.h         |  28 +++
drivers/firmware/samsung/exynos-acpm.c             | 113 +++++++---
drivers/firmware/samsung/exynos-acpm.h             |   2 +
drivers/mfd/sec-acpm.c                             |   6 +-
.../linux/firmware/samsung/exynos-acpm-protocol.h  |  32 ++-
10 files changed, 397 insertions(+), 72 deletions(-)
[PATCH v2 0/6] firmware: samsung: acpm: TMU support and cleanups
Posted by Tudor Ambarus 4 weeks ago
Hi all,

This series introduces protocol support for the Exynos
Thermal Management Unit (TMU) to the ACPM driver, alongside several
cleanups.

Dependencies
============
Krzysztof, these patches together with the acpm fixes from your `fixes`
branch will be needed by the thermal maintainers. I'm going to send the
ACPM TMU (thermal) driver for review. In case they'll take it for the
next release, we'll need an immutable tag with the acpm fixes, cleanup
and thermal helpers. Thanks!

Other notes
===========
The MFD and clk maintainers are included because of the cleanup patches
(3 and 4). ACPM updated some structures that the mfd and clk client
drivers are using, so these patches shall naturally go via the Samsung
SoC tree.

Note that when compiling with W=1 one will see the following kdoc
false-positive warning:
  CC [M]  drivers/firmware/samsung/exynos-acpm.o
Warning: drivers/firmware/samsung/exynos-acpm.c:118 struct member '__counted_by_ptr(cmdcnt' not described in 'acpm_rx_data'
Warning: linux/drivers/firmware/samsung/exynos-acpm.c:118 struct member '__counted_by_ptr(cmdcnt' not described in 'acpm_rx_data'

I proposed the following patch to fix it:
Link: https://lore.kernel.org/all/20260506-kdoc-__counted_by_ptr-v1-1-70763486871f@linaro.org/

Cheers,
ta

---
Changes in v2:
- collect tags
- resend as sashiko couldn't apply previous version. We want
  sashiko's review feedback
- Link to v1: https://lore.kernel.org/r/20260506-acpm-tmu-helpers-v1-0-a9cd5daf8355@linaro.org

Changes since 20260113-acpm-tmu-27e21f0e2c3b:v4:
- reword commit message of first patch emphasizing there's no
  functional change (Krzysztof)
- remove static keyword from `static void acpm_set_xfer`
- replace for loop with memcpy in acpm_tmu_set_threshold()
- update kernel doc on devm_acpm_get_by_phandle()

Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>

---
Tudor Ambarus (6):
      firmware: samsung: acpm: Consolidate transfer initialization helper
      firmware: samsung: acpm: Annotate rx_data->cmd with __counted_by_ptr
      firmware: samsung: acpm: Drop redundant _ops suffix in acpm_ops members
      firmware: samsung: acpm: Make acpm_ops const and access via pointer
      firmware: samsung: acpm: Add TMU protocol support
      firmware: samsung: acpm: Add devm_acpm_get_by_phandle helper

 drivers/clk/samsung/clk-acpm.c                     |   8 +-
 drivers/firmware/samsung/Makefile                  |   1 +
 drivers/firmware/samsung/exynos-acpm-dvfs.c        |  20 +-
 drivers/firmware/samsung/exynos-acpm-pmic.c        |  20 +-
 drivers/firmware/samsung/exynos-acpm-tmu.c         | 239 +++++++++++++++++++++
 drivers/firmware/samsung/exynos-acpm-tmu.h         |  28 +++
 drivers/firmware/samsung/exynos-acpm.c             | 113 +++++++---
 drivers/firmware/samsung/exynos-acpm.h             |   2 +
 drivers/mfd/sec-acpm.c                             |   6 +-
 .../linux/firmware/samsung/exynos-acpm-protocol.h  |  32 ++-
 10 files changed, 397 insertions(+), 72 deletions(-)
---
base-commit: 5e9b7d093f3f77cb0af4409559e3d139babfb443
change-id: 20260505-acpm-tmu-helpers-4c5af0e2f07c
prerequisite-change-id: 20260423-acpm-fixes-sashiko-reports-ae28b6ed5581:v5
prerequisite-patch-id: 18d89d0e2bc0efe2cb366746ac4db36f4682f061
prerequisite-patch-id: e877f865862ee94f5750b877b5fad863d8acd7c8
prerequisite-patch-id: b5da16b5c6d6731ea519ed68302fd52ce57c7ffa
prerequisite-patch-id: df5b1d9df4c8894afaff645c9eb84aa4e3daeeee
prerequisite-patch-id: be74a55583acb36dedca3e118f49633172979617
prerequisite-patch-id: 31ebc7bd806d4d466c256049f32e3270e2caeeb6
prerequisite-patch-id: 7ea0832fcf76e4f40e18b74083904e7e37e1addf

Best regards,
-- 
Tudor Ambarus <tudor.ambarus@linaro.org>
Re: [PATCH v2 0/6] firmware: samsung: acpm: TMU support and cleanups
Posted by Krzysztof Kozlowski 2 weeks, 4 days ago
On Fri, 15 May 2026 09:32:24 +0000, Tudor Ambarus wrote:
> This series introduces protocol support for the Exynos
> Thermal Management Unit (TMU) to the ACPM driver, alongside several
> cleanups.
> 
> Dependencies
> ============
> Krzysztof, these patches together with the acpm fixes from your `fixes`
> branch will be needed by the thermal maintainers. I'm going to send the
> ACPM TMU (thermal) driver for review. In case they'll take it for the
> next release, we'll need an immutable tag with the acpm fixes, cleanup
> and thermal helpers. Thanks!
> 
> [...]

Applied, thanks!

[1/6] firmware: samsung: acpm: Consolidate transfer initialization helper
      https://git.kernel.org/krzk/linux/c/43d3733b7ffd82b2bfeda69befa2a179335dfe6c
[2/6] firmware: samsung: acpm: Annotate rx_data->cmd with __counted_by_ptr
      https://git.kernel.org/krzk/linux/c/7b20fd06f783c1e901d34305c68df16212cdf669
[3/6] firmware: samsung: acpm: Drop redundant _ops suffix in acpm_ops members
      https://git.kernel.org/krzk/linux/c/ef1109e4b6120a52be1ea66d486d6744d0c5ac47
[4/6] firmware: samsung: acpm: Make acpm_ops const and access via pointer
      https://git.kernel.org/krzk/linux/c/e694e19bf7db26ee324ff6bb450cc523592f5bee
[5/6] firmware: samsung: acpm: Add TMU protocol support
      https://git.kernel.org/krzk/linux/c/f6af402de525d0848fc4a50f25ff01f56fc68d98
[6/6] firmware: samsung: acpm: Add devm_acpm_get_by_phandle helper
      https://git.kernel.org/krzk/linux/c/8ad2c29d53e69df5cc1c1d00513c6a0f96d2d452

Best regards,
-- 
Krzysztof Kozlowski <krzk@kernel.org>
Re: [PATCH v2 0/6] firmware: samsung: acpm: TMU support and cleanups
Posted by Alexey Klimov 2 weeks, 4 days ago
On Sun May 24, 2026 at 8:40 PM BST, Krzysztof Kozlowski wrote:
>
> On Fri, 15 May 2026 09:32:24 +0000, Tudor Ambarus wrote:
>> This series introduces protocol support for the Exynos
>> Thermal Management Unit (TMU) to the ACPM driver, alongside several
>> cleanups.
>> 
>> Dependencies
>> ============
>> Krzysztof, these patches together with the acpm fixes from your `fixes`
>> branch will be needed by the thermal maintainers. I'm going to send the
>> ACPM TMU (thermal) driver for review. In case they'll take it for the
>> next release, we'll need an immutable tag with the acpm fixes, cleanup
>> and thermal helpers. Thanks!
>> 
>> [...]
>
> Applied, thanks!
>
> [1/6] firmware: samsung: acpm: Consolidate transfer initialization helper
>       https://git.kernel.org/krzk/linux/c/43d3733b7ffd82b2bfeda69befa2a179335dfe6c
> [2/6] firmware: samsung: acpm: Annotate rx_data->cmd with __counted_by_ptr
>       https://git.kernel.org/krzk/linux/c/7b20fd06f783c1e901d34305c68df16212cdf669
> [3/6] firmware: samsung: acpm: Drop redundant _ops suffix in acpm_ops members
>       https://git.kernel.org/krzk/linux/c/ef1109e4b6120a52be1ea66d486d6744d0c5ac47
> [4/6] firmware: samsung: acpm: Make acpm_ops const and access via pointer
>       https://git.kernel.org/krzk/linux/c/e694e19bf7db26ee324ff6bb450cc523592f5bee
> [5/6] firmware: samsung: acpm: Add TMU protocol support
>       https://git.kernel.org/krzk/linux/c/f6af402de525d0848fc4a50f25ff01f56fc68d98

That commit contained the questionable error conversion which works
only for gs101 -- acpm_tmu_to_linux_err() hides some sensible errors into -EIO.
There were on-going discussion on maillist.

Now, it is needed to ignore that or generalise that or split it to have
different SoCs if needed. Some re-work will be needed.

BR,
Alexey.
Re: [PATCH v2 0/6] firmware: samsung: acpm: TMU support and cleanups
Posted by Krzysztof Kozlowski 2 weeks, 3 days ago
On 25/05/2026 00:26, Alexey Klimov wrote:
> On Sun May 24, 2026 at 8:40 PM BST, Krzysztof Kozlowski wrote:
>>
>> On Fri, 15 May 2026 09:32:24 +0000, Tudor Ambarus wrote:
>>> This series introduces protocol support for the Exynos
>>> Thermal Management Unit (TMU) to the ACPM driver, alongside several
>>> cleanups.
>>>
>>> Dependencies
>>> ============
>>> Krzysztof, these patches together with the acpm fixes from your `fixes`
>>> branch will be needed by the thermal maintainers. I'm going to send the
>>> ACPM TMU (thermal) driver for review. In case they'll take it for the
>>> next release, we'll need an immutable tag with the acpm fixes, cleanup
>>> and thermal helpers. Thanks!
>>>
>>> [...]
>>
>> Applied, thanks!
>>
>> [1/6] firmware: samsung: acpm: Consolidate transfer initialization helper
>>       https://git.kernel.org/krzk/linux/c/43d3733b7ffd82b2bfeda69befa2a179335dfe6c
>> [2/6] firmware: samsung: acpm: Annotate rx_data->cmd with __counted_by_ptr
>>       https://git.kernel.org/krzk/linux/c/7b20fd06f783c1e901d34305c68df16212cdf669
>> [3/6] firmware: samsung: acpm: Drop redundant _ops suffix in acpm_ops members
>>       https://git.kernel.org/krzk/linux/c/ef1109e4b6120a52be1ea66d486d6744d0c5ac47
>> [4/6] firmware: samsung: acpm: Make acpm_ops const and access via pointer
>>       https://git.kernel.org/krzk/linux/c/e694e19bf7db26ee324ff6bb450cc523592f5bee
>> [5/6] firmware: samsung: acpm: Add TMU protocol support
>>       https://git.kernel.org/krzk/linux/c/f6af402de525d0848fc4a50f25ff01f56fc68d98
> 
> That commit contained the questionable error conversion which works
> only for gs101 -- acpm_tmu_to_linux_err() hides some sensible errors into -EIO.
> There were on-going discussion on maillist.
> 
> Now, it is needed to ignore that or generalise that or split it to have
> different SoCs if needed. Some re-work will be needed.

That patch was looking correct in its scope. It solved one particular
case (GS101) without stopping anyone to grow this to support other cases
(Exynos850 etc)., so it is in kernel spirit to take such things. Solving
these other cases is simply not necessary now. It's also not blocked, so
just build on top and improve that code to match both use cases, when
you have exynos850 consumer of this.

Best regards,
Krzysztof
Re: [PATCH v2 0/6] firmware: samsung: acpm: TMU support and cleanups
Posted by Tudor Ambarus 3 weeks, 6 days ago
Hi, Krzysztof,

On 5/15/26 12:32 PM, Tudor Ambarus wrote:
> Changes in v2:
> - collect tags
> - resend as sashiko couldn't apply previous version. We want
>   sashiko's review feedback

That didn't work, sashiko still can't apply:
https://sashiko.dev/#/patchset/20260506-acpm-tmu-helpers-v1-0-a9cd5daf8355%40linaro.org

cut

> ---
> base-commit: 5e9b7d093f3f77cb0af4409559e3d139babfb443
above is v7.1-rc1 (signed tag)

> change-id: 20260505-acpm-tmu-helpers-4c5af0e2f07c
> prerequisite-change-id: 20260423-acpm-fixes-sashiko-reports-ae28b6ed5581:v5
> prerequisite-patch-id: 18d89d0e2bc0efe2cb366746ac4db36f4682f061
> prerequisite-patch-id: e877f865862ee94f5750b877b5fad863d8acd7c8
> prerequisite-patch-id: b5da16b5c6d6731ea519ed68302fd52ce57c7ffa
> prerequisite-patch-id: df5b1d9df4c8894afaff645c9eb84aa4e3daeeee
> prerequisite-patch-id: be74a55583acb36dedca3e118f49633172979617
> prerequisite-patch-id: 31ebc7bd806d4d466c256049f32e3270e2caeeb6
> prerequisite-patch-id: 7ea0832fcf76e4f40e18b74083904e7e37e1addf

While I see I forgot to update the dependencies, I don't think they
matter to sashiko. If sashiko used v7.1-rc1 and the prerequisite
patches it would correctly apply the set.

If one goes in the Sashiko link above and expand the `Baseline`
(show details), will see:

5e9b7d093f3f77cb0af4409559e3d139babfb443 (5e9b7d093f3f77cb0af4409559e3d139babfb443)	Failed	View Log
	^ this is v7.1-rc1 (signed tag)

krzk/HEAD (254f49634ee16a731174d2ae34bc50bd5f45e731)	Failed	View Log
	^ this is krzk/HEAD -> krzk/master -> v7.1-rc1

Shall your HEAD point to the krzk/for-next branch? Happy to resubmit
the set.

Thanks,
ta
Re: [PATCH v2 0/6] firmware: samsung: acpm: TMU support and cleanups
Posted by Tudor Ambarus 3 weeks, 6 days ago

On 5/15/26 2:44 PM, Tudor Ambarus wrote:
> Hi, Krzysztof,
> 
> On 5/15/26 12:32 PM, Tudor Ambarus wrote:
>> Changes in v2:
>> - collect tags
>> - resend as sashiko couldn't apply previous version. We want
>>   sashiko's review feedback
> 
> That didn't work, sashiko still can't apply:
> https://sashiko.dev/#/patchset/20260506-acpm-tmu-helpers-v1-0-a9cd5daf8355%40linaro.org

the correct link is
https://sashiko.dev/#/patchset/20260515-acpm-tmu-helpers-v2-0-8ca011d5a965%40linaro.org

the description bellow still applies.

> 
> cut
> 
>> ---
>> base-commit: 5e9b7d093f3f77cb0af4409559e3d139babfb443
> above is v7.1-rc1 (signed tag)
> 
>> change-id: 20260505-acpm-tmu-helpers-4c5af0e2f07c
>> prerequisite-change-id: 20260423-acpm-fixes-sashiko-reports-ae28b6ed5581:v5
>> prerequisite-patch-id: 18d89d0e2bc0efe2cb366746ac4db36f4682f061
>> prerequisite-patch-id: e877f865862ee94f5750b877b5fad863d8acd7c8
>> prerequisite-patch-id: b5da16b5c6d6731ea519ed68302fd52ce57c7ffa
>> prerequisite-patch-id: df5b1d9df4c8894afaff645c9eb84aa4e3daeeee
>> prerequisite-patch-id: be74a55583acb36dedca3e118f49633172979617
>> prerequisite-patch-id: 31ebc7bd806d4d466c256049f32e3270e2caeeb6
>> prerequisite-patch-id: 7ea0832fcf76e4f40e18b74083904e7e37e1addf
> 
> While I see I forgot to update the dependencies, I don't think they
> matter to sashiko. If sashiko used v7.1-rc1 and the prerequisite
> patches it would correctly apply the set.
> 
> If one goes in the Sashiko link above and expand the `Baseline`
> (show details), will see:
> 
> 5e9b7d093f3f77cb0af4409559e3d139babfb443 (5e9b7d093f3f77cb0af4409559e3d139babfb443)	Failed	View Log
> 	^ this is v7.1-rc1 (signed tag)
> 
> krzk/HEAD (254f49634ee16a731174d2ae34bc50bd5f45e731)	Failed	View Log
> 	^ this is krzk/HEAD -> krzk/master -> v7.1-rc1
> 
> Shall your HEAD point to the krzk/for-next branch? Happy to resubmit
> the set.
> 
> Thanks,
> ta