unified vcn reset smu feature cap

Signed-off-by: Yang Wang <kevinyang.w...@amd.com>
---
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c            | 7 +------
 drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h        | 5 +----
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c | 4 +++-
 3 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c 
b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index f5db055d96a6..ae3f7f00c38f 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -4140,12 +4140,7 @@ int smu_reset_sdma(struct smu_context *smu, uint32_t 
inst_mask)
 
 bool smu_reset_vcn_is_supported(struct smu_context *smu)
 {
-       bool ret = false;
-
-       if (smu->ppt_funcs && smu->ppt_funcs->reset_vcn_is_supported)
-               ret = smu->ppt_funcs->reset_vcn_is_supported(smu);
-
-       return ret;
+       return smu_feature_cap_test(smu, SMU_FEATURE_CAP_ID__VCN_RESET);
 }
 
 int smu_reset_vcn(struct smu_context *smu, uint32_t inst_mask)
diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h 
b/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h
index d4ba1f87a0a7..61f5d30d06f7 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h
+++ b/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h
@@ -531,6 +531,7 @@ enum smu_feature_cap_id {
        SMU_FEATURE_CAP_ID__MODE1_RESET = 0,
        SMU_FEATURE_CAP_ID__LINK_RESET,
        SMU_FEATURE_CAP_ID__SDMA_RESET,
+       SMU_FEATURE_CAP_ID__VCN_RESET,
        SMU_FEATURE_CAP_ID__COUNT,
 };
 
@@ -1433,10 +1434,6 @@ struct pptable_funcs {
         * @reset_vcn: message SMU to soft reset vcn instance.
         */
        int (*dpm_reset_vcn)(struct smu_context *smu, uint32_t inst_mask);
-       /**
-        * @reset_vcn_is_supported: Check if support resets vcn.
-        */
-       bool (*reset_vcn_is_supported)(struct smu_context *smu);
 
        /**
         * @get_ecc_table:  message SMU to get ECC INFO table.
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c 
b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
index 89360e345c25..9be19a7fb6e1 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
@@ -3224,6 +3224,9 @@ static int smu_v13_0_6_post_init(struct smu_context *smu)
        if (smu_v13_0_6_reset_sdma_is_supported(smu))
                smu_feature_cap_set(smu, SMU_FEATURE_CAP_ID__SDMA_RESET);
 
+       if (smu_v13_0_6_reset_vcn_is_supported(smu))
+               smu_feature_cap_set(smu, SMU_FEATURE_CAP_ID__VCN_RESET);
+
        return 0;
 }
 
@@ -3899,7 +3902,6 @@ static const struct pptable_funcs smu_v13_0_6_ppt_funcs = 
{
        .send_rma_reason = smu_v13_0_6_send_rma_reason,
        .reset_sdma = smu_v13_0_6_reset_sdma,
        .dpm_reset_vcn = smu_v13_0_6_reset_vcn,
-       .reset_vcn_is_supported = smu_v13_0_6_reset_vcn_is_supported,
        .post_init = smu_v13_0_6_post_init,
 };
 
-- 
2.34.1

Reply via email to