[PATCH] drm/amdgpu: Re-enable FRU check for most models v3

Alex Deucher alexdeucher at gmail.com
Fri Apr 3 20:51:16 UTC 2020


On Fri, Apr 3, 2020 at 1:09 PM Kent Russell <kent.russell at amd.com> wrote:
>
> 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
> v3: Don't default to true for pre-VG10
>
> Signed-off-by: Kent Russell <kent.russell at amd.com>
> ---
>  .../gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c    | 22 +++++++++++++++++--
>  1 file changed, 20 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..508906177cad 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c
> @@ -31,9 +31,27 @@
>
>  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
> +        */
> +       switch (adev->asic_type) {
> +       case CHIP_VEGA20:
> +               if (strnstr(atom_ctx->vbios_version, "D360",
> +                               sizeof(atom_ctx->vbios_version)))
> +                       return false;

Most skus are separated by pci revision ids.  Maybe it would be more
reliable to check that than a vbios string?

Alex


> +               return true;
> +       case CHIP_ARCTURUS:
> +               /* There are no gaming Arcturus SKUs */
> +               return true;
> +       default:
> +               return false;
> +       }
>  }
>
>  int amdgpu_fru_read_eeprom(struct amdgpu_device *adev, uint32_t addrptr,
> --
> 2.17.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list