[PATCH] drm/amdgpu: temporarily read bounding box from gpu_info fw for navi12

Luben Tuikov luben.tuikov at amd.com
Wed Jun 3 14:56:51 UTC 2020


On 2020-06-02 10:07 p.m., Tianci Yin wrote:
> From: "Tianci.Yin" <tianci.yin at amd.com>
> 
> The bounding box is still needed by Navi12, temporarily read it from gpu_info
> firmware. Should be droped when DAL no longer needs it.
> 
> Change-Id: Ifc330ec860f9b0665134a81df2fc80ca91c41a33
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> Reviewed-by: Xiaojie Yuan <xiaojie.yuan at amd.com>
> Signed-off-by: Tianci.Yin <tianci.yin at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 15de344438d2..1df28b7bf22e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -1537,7 +1537,14 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev)
>  
>  	if (adev->discovery_bin) {
>  		amdgpu_discovery_get_gfx_info(adev);
> -		return 0;
> +
> +		/*
> +		 * FIXME: The bounding box is still needed by Navi12, so
> +		 * temporarily read it from gpu_info firmware. Should be droped

Spelling: "dropped"

> +		 * when DAL no longer needs it.
> +		 */
> +		if (adev->asic_type != CHIP_NAVI12)
> +			return 0;
>  	}
>  
>  	switch (adev->asic_type) {
> @@ -1627,6 +1634,12 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev)
>  			(const struct gpu_info_firmware_v1_0 *)(adev->firmware.gpu_info_fw->data +
>  								le32_to_cpu(hdr->header.ucode_array_offset_bytes));
>  
> +		/*
> +		 * Should be droped when DAL no longer needs it.

Add "FIXME" here as well.
Spelling: "dropped".

Regards,
Luben

> +		 */
> +		if (adev->asic_type == CHIP_NAVI12)
> +			goto parse_soc_bounding_box;
> +
>  		adev->gfx.config.max_shader_engines = le32_to_cpu(gpu_info_fw->gc_num_se);
>  		adev->gfx.config.max_cu_per_sh = le32_to_cpu(gpu_info_fw->gc_num_cu_per_sh);
>  		adev->gfx.config.max_sh_per_se = le32_to_cpu(gpu_info_fw->gc_num_sh_per_se);
> @@ -1655,6 +1668,7 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev)
>  				le32_to_cpu(gpu_info_fw->num_packer_per_sc);
>  		}
>  
> +parse_soc_bounding_box:
>  		/*
>  		 * soc bounding box info is not integrated in disocovery table,
>  		 * we always need to parse it from gpu info firmware if needed.
> 



More information about the amd-gfx mailing list