[AMD Public Use]

Reviewed-by: Guchun Chen <guchun.c...@amd.com>

Regards,
Guchun

-----Original Message-----
From: amd-gfx <amd-gfx-boun...@lists.freedesktop.org> On Behalf Of Stanley.Yang
Sent: Monday, December 14, 2020 6:35 PM
To: amd-gfx@lists.freedesktop.org; Jian, Jane <jane.j...@amd.com>
Cc: Yang, Stanley <stanley.y...@amd.com>
Subject: [PATCH V2 1/1] drm/amdgpu: skip load smu and sdma microcode on sriov 
for SIENNA_CICHLID

skip load smu and sdma fw on sriov due to sos, ta and asd fw have been skipped 
for SIENNA_CICHLID.

V2:
    move asic check into smu11

Signed-off-by: Stanley.Yang <stanley.y...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c         |  3 +++
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c      | 10 ++++------
 drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c |  5 +++++
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c 
b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
index 39e17aae655f..87566dee048d 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
@@ -153,6 +153,9 @@ static int sdma_v5_2_init_microcode(struct amdgpu_device 
*adev)
        struct amdgpu_firmware_info *info = NULL;
        const struct common_firmware_header *header = NULL;
 
+       if (amdgpu_sriov_vf(adev) && (adev->asic_type == CHIP_SIENNA_CICHLID))
+               return 0;
+
        DRM_DEBUG("\n");
 
        switch (adev->asic_type) {
diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c 
b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index cf999b7a2164..8b867a6d52b5 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -847,12 +847,10 @@ static int smu_sw_init(void *handle)
        smu->smu_dpm.dpm_level = AMD_DPM_FORCED_LEVEL_AUTO;
        smu->smu_dpm.requested_dpm_level = AMD_DPM_FORCED_LEVEL_AUTO;
 
-       if (!amdgpu_sriov_vf(adev) || (adev->asic_type != CHIP_NAVI12)) {
-               ret = smu_init_microcode(smu);
-               if (ret) {
-                       dev_err(adev->dev, "Failed to load smu firmware!\n");
-                       return ret;
-               }
+       ret = smu_init_microcode(smu);
+       if (ret) {
+               dev_err(adev->dev, "Failed to load smu firmware!\n");
+               return ret;
        }
 
        ret = smu_smc_table_sw_init(smu);
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c 
b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
index 624065d3c079..c3c181975c9d 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
@@ -91,6 +91,11 @@ int smu_v11_0_init_microcode(struct smu_context *smu)
        const struct common_firmware_header *header;
        struct amdgpu_firmware_info *ucode = NULL;
 
+       if (amdgpu_sriov_vf(adev) &&
+                       ((adev->asic_type == CHIP_NAVI12) ||
+                        (adev->asic_type == CHIP_SIENNA_CICHLID)))
+               return 0;
+
        switch (adev->asic_type) {
        case CHIP_ARCTURUS:
                chip_name = "arcturus";
--
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=04%7C01%7Cguchun.chen%40amd.com%7C170ed7c1105e4f1e9ff208d8a01bf99f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637435389305874015%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=QFTPPWPl7ZluqKDLvzwLLrPa6bPNJ7OF86YMaMs0ObE%3D&amp;reserved=0
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to