[PATCH] drm/amdgpu: Re-enable FRU check for most models v4
Russell, Kent
Kent.Russell at amd.com
Tue Apr 7 12:22:10 UTC 2020
[AMD Official Use Only - Internal Distribution Only]
Sorry for the double-send, this was the right one to send out.
Kent
> -----Original Message-----
> From: Russell, Kent <Kent.Russell at amd.com>
> Sent: Monday, April 6, 2020 11:53 AM
> To: amd-gfx at lists.freedesktop.org
> Cc: Russell, Kent <Kent.Russell at amd.com>
> Subject: [PATCH] drm/amdgpu: Re-enable FRU check for most models v4
>
> There is at least 1 VG20 DID that does not have an FRU, and trying to read that
> will cause a hang. For now, explicitly support reading the FRU for Arcturus and
> for the WKS VG20 DIDs, and skip for everything else.
> This re-enables serial number reporting for server cards
>
> v2: Add ASIC check
> v3: Don't default to true for pre-VG20
> v4: Use DID instead of parsing the VBIOS
>
> Signed-off-by: Kent Russell <kent.russell at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c | 14 ++++++++++++--
> 1 file changed, 12 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..9d17761721de 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c
> @@ -20,6 +20,8 @@
> * OTHER DEALINGS IN THE SOFTWARE.
> *
> */
> +#include <linux/pci.h>
> +
> #include "amdgpu.h"
> #include "amdgpu_i2c.h"
> #include "smu_v11_0_i2c.h"
> @@ -31,8 +33,16 @@
>
> bool is_fru_eeprom_supported(struct amdgpu_device *adev) {
> - /* TODO: Resolve supported ASIC type */
> -
> + /* TODO: Gaming SKUs don't have the FRU EEPROM.
> + * Use this hack to address hangs on modprobe on gaming SKUs
> + * until a proper solution can be implemented by only supporting
> + * it on Arcturus, and the explicit chip IDs for VG20 Server cards
> + */
> + if ((adev->asic_type == CHIP_ARCTURUS) ||
> + (adev->asic_type == CHIP_VEGA20 && adev->pdev->device ==
> 0x66a0) ||
> + (adev->asic_type == CHIP_VEGA20 && adev->pdev->device ==
> 0x66a1) ||
> + (adev->asic_type == CHIP_VEGA20 && adev->pdev->device ==
> 0x66a4))
> + return true;
> return false;
> }
>
> --
> 2.17.1
More information about the amd-gfx
mailing list