[PATCH] drm/amd/pm: Skip reporting pcie width/speed on vfs

Lazar, Lijo lijo.lazar at amd.com
Wed Feb 28 04:08:33 UTC 2024



On 2/28/2024 9:30 AM, Asad Kamal wrote:
> Skip reporting pcie link width/speed on vfs for
> smu_v13_0_6 & smu_v13_0_2
> 
> Signed-off-by: Asad Kamal <asad.kamal at amd.com>
> Reviewed-by: Yang Wang <kevinyang.wang at amd.com>

Reviewed-by: Lijo Lazar <lijo.lazar at amd.com>

Thanks,
Lijo

> ---
>  .../gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c | 10 ++++++----
>  .../drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c   | 18 ++++++++++--------
>  2 files changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
> index f1440869d1ce..f122ef49106c 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
> @@ -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();
>  
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
> index 2b7a60b23d6b..69c64bc6e2dc 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
> @@ -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 =


More information about the amd-gfx mailing list