drm/amdgpu/smu: skip pptable init under sriov
authorjsg <jsg@openbsd.org>
Wed, 15 Feb 2023 10:21:11 +0000 (10:21 +0000)
committerjsg <jsg@openbsd.org>
Wed, 15 Feb 2023 10:21:11 +0000 (10:21 +0000)
From Jane Jian
4609e1773222670af42e71c3a7bbf0453438d74a in linux-6.1.y/6.1.12
c6ac406cd8ff610a2d5da298b1d3071acfcde7f0 in mainline linux

sys/dev/pci/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c

index 94be45f..b306946 100644 (file)
@@ -407,6 +407,9 @@ static int smu_v13_0_0_setup_pptable(struct smu_context *smu)
        struct amdgpu_device *adev = smu->adev;
        int ret = 0;
 
+       if (amdgpu_sriov_vf(smu->adev))
+               return 0;
+
        ret = smu_v13_0_0_get_pptable_from_pmfw(smu,
                                                &smu_table->power_play_table,
                                                &smu_table->power_play_table_size);
@@ -1257,6 +1260,9 @@ static int smu_v13_0_0_get_thermal_temperature_range(struct smu_context *smu,
                table_context->power_play_table;
        PPTable_t *pptable = smu->smu_table.driver_pptable;
 
+       if (amdgpu_sriov_vf(smu->adev))
+               return 0;
+
        if (!range)
                return -EINVAL;