There are 2 VG20 SKUs that do not have the FRU on there, and trying to read
that will cause a hang. For now, check for the gaming SKU until a proper
fix can be implemented. This re-enables serial number reporting for
server cards

v2: Add ASIC check

Signed-off-by: Kent Russell <kent.russ...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c
index bfe4259f9508..9582469a70cb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c
@@ -31,9 +31,21 @@
 
 bool is_fru_eeprom_supported(struct amdgpu_device *adev)
 {
-       /* TODO: Resolve supported ASIC type */
+       struct atom_context *atom_ctx = adev->mode_info.atom_context;
 
-       return false;
+       if (!atom_ctx)
+               return false;
+
+       /* TODO: Gaming SKUs don't have the FRU EEPROM.
+        * Use this to address hangs on modprobe on gaming SKUs
+        * until a proper solution can be implemented
+        */
+       if (adev->asic_type == CHIP_VEGA20)
+               if (strnstr(atom_ctx->vbios_version, "D360",
+                               sizeof(atom_ctx->vbios_version)))
+                       return false;
+
+       return true;
 }
 
 int amdgpu_fru_read_eeprom(struct amdgpu_device *adev, uint32_t addrptr,
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to