Function is_vcn_enabled() returns false if either the VCN or JPEG ip
block is disabled, which sounds unreasonable. It should returns true
when either VCN and JPEG is enabled.

Signed-off-by: Jiang Liu <ge...@linux.alibaba.com>
---
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c 
b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index 70a5ab649e5f..08b42c7a4ad1 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -230,11 +230,11 @@ static bool is_vcn_enabled(struct amdgpu_device *adev)
        for (i = 0; i < adev->num_ip_blocks; i++) {
                if ((adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_VCN 
||
                        adev->ip_blocks[i].version->type == 
AMD_IP_BLOCK_TYPE_JPEG) &&
-                       !adev->ip_blocks[i].status.valid)
-                       return false;
+                       adev->ip_blocks[i].status.valid)
+                       return true;
        }
 
-       return true;
+       return false;
 }
 
 static int smu_dpm_set_vcn_enable(struct smu_context *smu,
-- 
2.43.5

Reply via email to