[PATCH 4/5] drm/amdgpu: Query boot status if discovery failed
Felix Kuehling
felix.kuehling at amd.com
Tue Jan 2 17:49:13 UTC 2024
On 2024-01-02 09:07, Hawking Zhang wrote:
> Check and report boot status if discovery failed.
>
> Signed-off-by: Hawking Zhang <Hawking.Zhang at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> index b8fde08aec8e..302b71e9f1e2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> @@ -27,6 +27,7 @@
> #include "amdgpu_discovery.h"
> #include "soc15_hw_ip.h"
> #include "discovery.h"
> +#include "amdgpu_ras.h"
>
> #include "soc15.h"
> #include "gfx_v9_0.h"
> @@ -98,6 +99,7 @@
> #define FIRMWARE_IP_DISCOVERY "amdgpu/ip_discovery.bin"
> MODULE_FIRMWARE(FIRMWARE_IP_DISCOVERY);
>
> +#define mmIP_DISCOVERY_VERSION 0x16A00
> #define mmRCC_CONFIG_MEMSIZE 0xde3
> #define mmMP0_SMN_C2PMSG_33 0x16061
> #define mmMM_INDEX 0x0
> @@ -518,7 +520,9 @@ static int amdgpu_discovery_init(struct amdgpu_device *adev)
> out:
> kfree(adev->mman.discovery_bin);
> adev->mman.discovery_bin = NULL;
> -
> + if ((amdgpu_discovery != 2) &&
> + (RREG32(mmIP_DISCOVERY_VERSION) == 4))
> + amdgpu_ras_query_boot_status(adev, 4);
I'm not sure about hard-coding 4 instances here. The code you dropped in
patch 1 was using adev->aid_mask. But I guess that's not even
initialized correctly if IP discovery failed. Will this work correctly
on the APU version?
Regards,
Felix
> return r;
> }
>
More information about the amd-gfx
mailing list