From: Mangesh Gadre <[email protected]>

DPX is only valid partition mode in NPS2.
Updated check which was making CPX as
available compute partition mode instead of DPX

Signed-off-by: Mangesh Gadre <[email protected]>
Reviewed-by: Asad Kamal <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/soc_v1_0.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/soc_v1_0.c 
b/drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
index 3f0b73f468fe2..15923d2e05a54 100644
--- a/drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
@@ -632,7 +632,7 @@ static bool __soc_v1_0_is_valid_mode(struct amdgpu_xcp_mgr 
*xcp_mgr,
        case AMDGPU_SPX_PARTITION_MODE:
                return adev->gmc.num_mem_partitions == 1 && num_xcc > 0;
        case AMDGPU_DPX_PARTITION_MODE:
-               return adev->gmc.num_mem_partitions <= 2 && (num_xcc % 4) == 0;
+               return adev->gmc.num_mem_partitions <= 2 && (num_xcc % 2) == 0;
        case AMDGPU_TPX_PARTITION_MODE:
                return (adev->gmc.num_mem_partitions == 1 ||
                        adev->gmc.num_mem_partitions == 3) &&
@@ -647,8 +647,10 @@ static bool __soc_v1_0_is_valid_mode(struct amdgpu_xcp_mgr 
*xcp_mgr,
                 * (num_xcc % adev->gmc.num_mem_partitions) == 0 because
                 * num_compute_partitions can't be less than num_mem_partitions
                 */
-               return ((num_xcc > 1) &&
-                      (num_xcc % adev->gmc.num_mem_partitions) == 0);
+               return (adev->gmc.num_mem_partitions == 1 ||
+                       adev->gmc.num_mem_partitions == 4) &&
+                      (num_xcc > 1) &&
+                      (num_xcc % adev->gmc.num_mem_partitions) == 0;
        default:
                return false;
        }
-- 
2.55.0

Reply via email to