]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/amd/pm: Skip reporting pcie width/speed on vfs
authorAsad Kamal <asad.kamal@amd.com>
Tue, 27 Feb 2024 17:26:48 +0000 (01:26 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 28 Feb 2024 22:09:53 +0000 (17:09 -0500)
Skip reporting pcie link width/speed on vfs for
smu_v13_0_6 & smu_v13_0_2

Signed-off-by: Asad Kamal <asad.kamal@amd.com>
Reviewed-by: Yang Wang <kevinyang.wang@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c

index f1440869d1ce0597fee3f5819c80db505136cbfa..f122ef49106c24264aecc9376c8b06cffcd25eff 100644 (file)
@@ -1747,10 +1747,12 @@ static ssize_t aldebaran_get_gpu_metrics(struct smu_context *smu,
 
        gpu_metrics->current_fan_speed = 0;
 
-       gpu_metrics->pcie_link_width =
-               smu_v13_0_get_current_pcie_link_width(smu);
-       gpu_metrics->pcie_link_speed =
-               aldebaran_get_current_pcie_link_speed(smu);
+       if (!amdgpu_sriov_vf(smu->adev)) {
+               gpu_metrics->pcie_link_width =
+                       smu_v13_0_get_current_pcie_link_width(smu);
+               gpu_metrics->pcie_link_speed =
+                       aldebaran_get_current_pcie_link_speed(smu);
+       }
 
        gpu_metrics->system_clock_counter = ktime_get_boottime_ns();
 
index 2b7a60b23d6bbc229b529a2d30c2af3a449aef4b..69c64bc6e2dc5e993788070f0c66650084d4fc90 100644 (file)
@@ -2229,14 +2229,16 @@ static ssize_t smu_v13_0_6_get_gpu_metrics(struct smu_context *smu, void **table
        gpu_metrics->gfxclk_lock_status = GET_METRIC_FIELD(GfxLockXCDMak) >> GET_INST(GC, 0);
 
        if (!(adev->flags & AMD_IS_APU)) {
-               link_width_level = smu_v13_0_6_get_current_pcie_link_width_level(smu);
-               if (link_width_level > MAX_LINK_WIDTH)
-                       link_width_level = 0;
-
-               gpu_metrics->pcie_link_width =
-                       DECODE_LANE_WIDTH(link_width_level);
-               gpu_metrics->pcie_link_speed =
-                       smu_v13_0_6_get_current_pcie_link_speed(smu);
+               if (!amdgpu_sriov_vf(adev)) {
+                       link_width_level = smu_v13_0_6_get_current_pcie_link_width_level(smu);
+                       if (link_width_level > MAX_LINK_WIDTH)
+                               link_width_level = 0;
+
+                       gpu_metrics->pcie_link_width =
+                               DECODE_LANE_WIDTH(link_width_level);
+                       gpu_metrics->pcie_link_speed =
+                               smu_v13_0_6_get_current_pcie_link_speed(smu);
+               }
                gpu_metrics->pcie_bandwidth_acc =
                                SMUQ10_ROUND(metrics_x->PcieBandwidthAcc[0]);
                gpu_metrics->pcie_bandwidth_inst =