[PATCH] drm/amdgpu: fix aldebaran xgmi topology for vf

Felix Kuehling felix.kuehling at amd.com
Wed Mar 9 23:12:01 UTC 2022


On 2022-03-09 17:16, Jonathan Kim wrote:
> VFs must also distinguish whether or not the TA supports full duplex or
> half duplex link records in order to report the correct xGMI topology.
>
> Signed-off-by: Jonathan Kim <jonathan.kim at amd.com>
I think I'm missing something here. Your condition for setting 
supports_extended_data is exactly the same, but you're initializing it 
in a different function. Can you explain how that change relates to SRIOV?

Thanks,
   Felix


> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> index 3ce1d38a7822..a6acec1a6155 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> @@ -310,6 +310,10 @@ static int psp_sw_init(void *handle)
>   		return ret;
>   	}
>   
> +	adev->psp.xgmi_context.supports_extended_data =
> +		!adev->gmc.xgmi.connected_to_cpu &&
> +			adev->ip_versions[MP0_HWIP][0] == IP_VERSION(13, 0, 2);
> +
>   	memset(&boot_cfg_entry, 0, sizeof(boot_cfg_entry));
>   	if (psp_get_runtime_db_entry(adev,
>   				PSP_RUNTIME_ENTRY_TYPE_BOOT_CONFIG,
> @@ -3008,7 +3012,6 @@ static int psp_init_sos_base_fw(struct amdgpu_device *adev)
>   		adev->psp.sos.size_bytes = le32_to_cpu(sos_hdr->sos.size_bytes);
>   		adev->psp.sos.start_addr = ucode_array_start_addr +
>   				le32_to_cpu(sos_hdr->sos.offset_bytes);
> -		adev->psp.xgmi_context.supports_extended_data = false;
>   	} else {
>   		/* Load alternate PSP SOS FW */
>   		sos_hdr_v1_3 = (const struct psp_firmware_header_v1_3 *)adev->psp.sos_fw->data;
> @@ -3023,7 +3026,6 @@ static int psp_init_sos_base_fw(struct amdgpu_device *adev)
>   		adev->psp.sos.size_bytes = le32_to_cpu(sos_hdr_v1_3->sos_aux.size_bytes);
>   		adev->psp.sos.start_addr = ucode_array_start_addr +
>   			le32_to_cpu(sos_hdr_v1_3->sos_aux.offset_bytes);
> -		adev->psp.xgmi_context.supports_extended_data = true;
>   	}
>   
>   	if ((adev->psp.sys.size_bytes == 0) || (adev->psp.sos.size_bytes == 0)) {


More information about the amd-gfx mailing list