[edk2-devel] [PATCH v5 0/4] Platform/ARM: Enable _CPC/_PSD generation on Juno-r2

PierreGondois posted 4 patches 1 month ago
Failed in applying to current master (apply log)
Platform/ARM/JunoPkg/ArmJuno.dsc              |   5 +
.../ConfigurationManager.c                    | 351 +++++++++++++++++-
.../ConfigurationManager.h                    |  31 +-
.../ConfigurationManagerDxe.inf               |   3 +
4 files changed, 377 insertions(+), 13 deletions(-)
[edk2-devel] [PATCH v5 0/4] Platform/ARM: Enable _CPC/_PSD generation on Juno-r2
Posted by PierreGondois 1 month ago
From: Pierre Gondois <pierre.gondois@arm.com>

v1:
- https://edk2.groups.io/g/devel/message/104127
v2:
- https://edk2.groups.io/g/devel/message/110048
- Rebase patches on latest version.
- Correct frequency values which were advertised in KHz
  when CPPC spec require them to be in MHz.
v3:
- https://edk2.groups.io/g/devel/message/111579
- Rebase on latest master
- Use ACPI 6.5 definitions instead of 6.4 previously
- Renamed ArmScmiInfoLib to DynamicTablesScmiInfoLib
v4:
- https://edk2.groups.io/g/devel/message/112378
- Removed Change-id left in commit messages.
v5:
[PATCH v4 3/3] Platform/ARM: Juno: Generate _CPC objects for JunoR2
- Removed unnecessary _CPC initialization
- Moved PopulateCpcInfo() to InitializePlatformRepository()
- Moved Juno revision check to InitializePlatformRepository()
Added new patch
- 'Platform/ARM: Juno: Use PcdDevelopmentPlatformRelaxations for _CPC'

A recent patchset [1] allows the generation of _PSD/_CPC ACPI objects by
querying the relevant information through the SCMI protocol.
- The _PSD object describes to which performance domain a CPU belongs.
  CPUs in the same performance domain have the same frequency.
- The _CPC object describes an interface to control the performance level
  of a CPU (i.e. its frequency).

Demonstrate the _PSD/_CPC generation functionality on Juno-r2 platforms.

In order to work, the SCP must describe performance levels on a unified
scale (i.e. not as frequencies). The following performance level values
where used for testing:
- little CPUs OPPs: [181, 322, 383] * 1000
- big CPUs OPPs: [512, 833, 1024] * 1024

The SCP should also:
- have fast channel enabled
- set the `approximate_level` feature to allow performance level requests
  in between OPP leveles.

[1] https://edk2.groups.io/g/devel/message/114410

Pierre Gondois (4):
  Platform/ARM: Juno: Fix typo
  Platform/ARM: Juno: Generate _PSD objects
  Platform/ARM: Juno: Generate _CPC objects for JunoR2
  Platform/ARM: Juno: Use Pcd for _CPC generation

 Platform/ARM/JunoPkg/ArmJuno.dsc              |   5 +
 .../ConfigurationManager.c                    | 351 +++++++++++++++++-
 .../ConfigurationManager.h                    |  31 +-
 .../ConfigurationManagerDxe.inf               |   3 +
 4 files changed, 377 insertions(+), 13 deletions(-)

-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114422): https://edk2.groups.io/g/devel/message/114422
Mute This Topic: https://groups.io/mt/103955616/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-