ACPI: PPTT: Update acpi_find_last_cache_level() to acpi_get_cache_info()
authorPierre Gondois <pierre.gondois@arm.com>
Wed, 4 Jan 2023 18:30:28 +0000 (19:30 +0100)
committerSudeep Holla <sudeep.holla@arm.com>
Wed, 18 Jan 2023 09:58:40 +0000 (09:58 +0000)
commitbd500361a937c03a3da57178287ce543c8f3681b
treee00552772ee4d4392dcd5d087dd6ed176d701eea
parentfa4d566a605bc4cf32d69f16ef8cf9696635f75a
ACPI: PPTT: Update acpi_find_last_cache_level() to acpi_get_cache_info()

acpi_find_last_cache_level() allows to find the last level of cache
for a given CPU. The function is only called on arm64 ACPI based
platforms to check for cache information that would be missing in
the CLIDR_EL1 register.
To allow populating (struct cpu_cacheinfo).num_leaves by only parsing
a PPTT, update acpi_find_last_cache_level() to get the 'split_levels',
i.e. the number of cache levels being split in data/instruction
caches.

It is assumed that there will not be data/instruction caches above a
unified cache.
If a split level consist of one data cache and no instruction cache
(or opposite), then the missing cache will still be populated
by default with minimal cache information, and maximal cpumask
(all non-existing caches have the same fw_token).

Suggested-by: Jeremy Linton <jeremy.linton@arm.com>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Jeremy Linton <jeremy.linton@arm.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Link: https://lore.kernel.org/r/20230104183033.755668-6-pierre.gondois@arm.com
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
arch/arm64/kernel/cacheinfo.c
drivers/acpi/pptt.c
include/linux/cacheinfo.h