]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform/x86/intel-uncore-freq: Fix warning in partitioned system
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Tue, 19 Aug 2025 21:10:34 +0000 (14:10 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:37:08 +0000 (15:37 -0500)
[ Upstream commit 6d47b4f08436cb682fb2644e6265a3897fd42a77 ]

A partitioned system configured with only one package and one compute
die, warning will be generated for duplicate sysfs entry. This typically
occurs during the platform bring-up phase.

Partitioned systems expose dies, equivalent to TPMI compute domains,
through the CPUID. Each partitioned system must contains at least one
compute die per partition, resulting in a minimum of two dies per
package. Hence the function topology_max_dies_per_package() returns at
least two, and the condition "topology_max_dies_per_package() > 1"
prevents the creation of a root domain.

In this case topology_max_dies_per_package() will return 1 and root
domain will be created for partition 0 and a duplicate sysfs warning
for partition 1 as both partitions have same package ID.

To address this also check for non zero partition in addition to
topology_max_dies_per_package() > 1.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://lore.kernel.org/r/20250819211034.3776284-1-srinivas.pandruvada@linux.intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/platform/x86/intel/uncore-frequency/uncore-frequency-tpmi.c

index bfcf92aa4d69ddc6badb696d353f4b87a3127ded..3e531fd1c6297e83dcace651da0386c88902362c 100644 (file)
@@ -638,7 +638,7 @@ static int uncore_probe(struct auxiliary_device *auxdev, const struct auxiliary_
 
        auxiliary_set_drvdata(auxdev, tpmi_uncore);
 
-       if (topology_max_dies_per_package() > 1)
+       if (topology_max_dies_per_package() > 1 || plat_info->partition)
                return 0;
 
        tpmi_uncore->root_cluster.root_domain = true;