[PATCH] drm/amdgpu: Set FRU bus for Aldebaran and Vega 20

Luben Tuikov luben.tuikov at amd.com
Fri Feb 4 18:56:29 UTC 2022


On 2022-02-04 13:53, Alex Deucher wrote:
> On Fri, Feb 4, 2022 at 1:48 PM Luben Tuikov <luben.tuikov at amd.com> wrote:
>>
>> 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 <Roy.Sun at amd.com>
>> Cc: Alex Deucher <Alexander.Deucher at amd.com>
>> Fixes: 9c6d2ba7057abb ("drm/amd: Expose the FRU SMU I2C bus")
>> Signed-off-by: Luben Tuikov <luben.tuikov at amd.com>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c         | 3 ++-
>>  drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c | 1 +
>>  2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> 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 87acb089cfccd5..dd2d66090d2374 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 ba4c9771ffc56b..3d96d4af92d97f 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;
> 
> Does this need to be set to NULL in control_fini() for consistency?
> Other than that, looks good to me.

It already is--I didn't need to add it as I did above for Vega20.

Regards,
Luben

> 
> Alex
> 
> 
>>
>>         return 0;
>>  Out_err:
>>
>> base-commit: 24b54e10043609a55194badff58bf91189c49793
>> prerequisite-patch-id: d694f05bfcdf100c1d6957afa209e304dad98404
>> prerequisite-patch-id: b106a5bd7e0d3a7c225a767ca4384162353cca9a
>> prerequisite-patch-id: 77d04393fc872e4f4dd158659bd44ba40b749883
>> --
>> 2.35.0.3.gb23dac905b
>>

Regards,
-- 
Luben


More information about the amd-gfx mailing list