[AMD Official Use Only - Internal Distribution Only] > -----Original Message----- > From: Alex Deucher <alexdeucher@xxxxxxxxx> > Sent: Friday, April 3, 2020 12:36 PM > To: Russell, Kent <Kent.Russell@xxxxxxx> > Cc: amd-gfx list <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> > Subject: Re: [PATCH] drm/amdgpu: Re-enable FRU check for most models > > On Fri, Apr 3, 2020 at 12:30 PM Kent Russell <kent.russell@xxxxxxx> 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 > > > > Signed-off-by: Kent Russell <kent.russell@xxxxxxx> > > --- > > 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; > > I think you want to default to false and only return true if it's a > vega20 and it's the right vbios version otherwise we'll try to fetch > the info on all asics. I was trying to go for the smallest list. There are 2 SKUs in all of VG20 that don't work, and none in Arcturus (and the FRU check is only for VG20+) , so I assumed that I could just cover the 2 bad cases. It's supported on Arcturus, and it's supported on server VG20, and we don't touch it at all on VG10-and-older. Kent > > Alex > > > } > > > > int amdgpu_fru_read_eeprom(struct amdgpu_device *adev, uint32_t > addrptr, > > -- > > 2.17.1 > > > > _______________________________________________ > > amd-gfx mailing list > > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.fr > eedesktop.org%2Fmailman%2Flistinfo%2Famd- > gfx&data=02%7C01%7Ckent.russell%40amd.com%7C0f2e5090b21b4807b > 66808d7d7ed28f1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6 > 37215285907421019&sdata=yBc0%2FrNnnWgRBiJcAvav4JtvmoG0Tyhd6p > X6gfFeW%2FU%3D&reserved=0 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx