Re: [PATCH 4/5] drm/amdgpu: Query boot status if discovery failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2024-01-02 09:07, Hawking Zhang wrote:
Check and report boot status if discovery failed.

Signed-off-by: Hawking Zhang <Hawking.Zhang@xxxxxxx>
---
  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;
  }



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux