drm/amdgpu: Use ARCTURUS in RAS EEPROM.
authorAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Fri, 11 Oct 2019 19:28:19 +0000 (15:28 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 25 Oct 2019 20:50:10 +0000 (16:50 -0400)
Add Arcturus EEPROM/I2C support in generic EEPROM code.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c

index 20af0a1..7de16c0 100644 (file)
@@ -216,6 +216,10 @@ int amdgpu_ras_eeprom_init(struct amdgpu_ras_eeprom_control *control)
                ret = smu_v11_0_i2c_eeprom_control_init(&control->eeprom_accessor);
                break;
 
+       case CHIP_ARCTURUS:
+               ret = smu_i2c_eeprom_init(&adev->smu, &control->eeprom_accessor);
+               break;
+
        default:
                return 0;
        }
@@ -260,6 +264,9 @@ void amdgpu_ras_eeprom_fini(struct amdgpu_ras_eeprom_control *control)
        case CHIP_VEGA20:
                smu_v11_0_i2c_eeprom_control_fini(&control->eeprom_accessor);
                break;
+       case CHIP_ARCTURUS:
+               smu_i2c_eeprom_fini(&adev->smu, &control->eeprom_accessor);
+               break;
 
        default:
                return;
@@ -364,7 +371,7 @@ int amdgpu_ras_eeprom_process_recods(struct amdgpu_ras_eeprom_control *control,
        struct eeprom_table_record *record;
        struct amdgpu_device *adev = to_amdgpu_device(control);
 
-       if (adev->asic_type != CHIP_VEGA20)
+       if (adev->asic_type != CHIP_VEGA20 && adev->asic_type != CHIP_ARCTURUS)
                return 0;
 
        buffs = kcalloc(num, EEPROM_ADDRESS_SIZE + EEPROM_TABLE_RECORD_SIZE,