[PATCH] drm/amdgpu: force read discovery file if set discovery=2

Felix Kuehling felix.kuehling at amd.com
Thu Oct 27 15:01:51 UTC 2022


Am 2022-10-25 um 23:13 schrieb Yifan Zhang:
> If discovery is set to 2 in module parameters explicitly, the
> intention is to use the discovery file in FW rather than the one in
> BIOS, usually because the latter is incorrect. This patch to force
> read discovery file if set discovery=2.
>
> Signed-off-by: Yifan Zhang <yifan1.zhang at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 9 +++++++--
>   1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> index 3993e6134914..5ea9afaaf4f1 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> @@ -305,8 +305,13 @@ static int amdgpu_discovery_init(struct amdgpu_device *adev)
>   		goto out;
>   	}
>   
> -	if (!amdgpu_discovery_verify_binary_signature(adev->mman.discovery_bin)) {
> -		dev_warn(adev->dev, "get invalid ip discovery binary signature from vram\n");
> +	if (!amdgpu_discovery_verify_binary_signature(adev->mman.discovery_bin) || amdgpu_discovery == 2) {
I'd change the order of the conditions. There is no need to check the 
signature of the one from VRAM if we're not going to use it anyway:

	if (amdgpu_discorvery == 2 ||
	    !amdgpu_discovery_verify_binary_signature(adev->mman.discovery_bin)) {
		...


> +		/* ignore the discovery binary from vram if discovery=2 in kernel module parameter */
> +		if (amdgpu_discovery == 2)
> +			dev_info(adev->dev,"force read ip discovery binary from file");
Missing space after the ,

Regards,
   Felix


> +		else
> +			dev_warn(adev->dev, "get invalid ip discovery binary signature from vram\n");
> +
>   		/* retry read ip discovery binary from file */
>   		r = amdgpu_discovery_read_binary_from_file(adev, adev->mman.discovery_bin);
>   		if (r) {


More information about the amd-gfx mailing list