From: Luben Tuikov Date: Fri, 4 Feb 2022 18:35:51 +0000 (-0500) Subject: drm/amdgpu: Set FRU bus for Aldebaran and Vega 20 X-Git-Tag: v5.18-rc1~134^2~18^2~64 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=00d6936dbd5486bd5c0a07870d5747eed6f799ec;p=thirdparty%2Flinux.git drm/amdgpu: Set FRU bus for Aldebaran and Vega 20 The FRU and RAS EEPROMs share the same I2C bus on Aldebaran and Vega 20 ASICs. Set the FRU bus "pointer" to this single bus, as access to the FRU is sought through that bus "pointer" and not through the RAS bus "pointer". Cc: Roy Sun Cc: Alex Deucher Fixes: 2f60dd50769efc ("drm/amd: Expose the FRU SMU I2C bus") Signed-off-by: Luben Tuikov Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c b/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c index 87acb089cfccd..dd2d66090d237 100644 --- a/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c +++ b/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c @@ -741,7 +741,7 @@ int smu_v11_0_i2c_control_init(struct amdgpu_device *adev) i2c_set_adapdata(control, smu_i2c); adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter; - adev->pm.fru_eeprom_i2c_bus = NULL; + adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter; res = i2c_add_adapter(control); if (res) @@ -756,6 +756,7 @@ void smu_v11_0_i2c_control_fini(struct amdgpu_device *adev) i2c_del_adapter(control); adev->pm.ras_eeprom_i2c_bus = NULL; + adev->pm.fru_eeprom_i2c_bus = NULL; } /* diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c index ba4c9771ffc56..3d96d4af92d97 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c @@ -1583,6 +1583,7 @@ static int aldebaran_i2c_control_init(struct smu_context *smu) } adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter; + adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter; return 0; Out_err: