drm/amdgpu: adjust some basic elements for multiple AID case
authorLe Ma <le.ma@amd.com>
Wed, 23 Feb 2022 03:43:01 +0000 (11:43 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:43:35 +0000 (09:43 -0400)
add some elements below:
 - num_aid
 - aid_id for each sdma instance
 - num_inst_per_aid for sdma

and extend macro size below:
 - SDMA_MAX_INSTANCES to 16
 - AMDGPU_MAX_RINGS to 96
 - AMDGPU_MAX_HWIP_RINGS to 32

v2: move aid_id from amdgpu_ring to amdgpu_sdma_instance. (Lijo)

Signed-off-by: Le Ma <le.ma@amd.com>
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h

index 00c52ca..5f43961 100644 (file)
@@ -1051,6 +1051,7 @@ struct amdgpu_device {
 
        bool                            job_hang;
        bool                            dc_enabled;
+       uint32_t                        num_aid;
 };
 
 static inline struct amdgpu_device *drm_to_adev(struct drm_device *ddev)
index b0dc0a0..8f4b416 100644 (file)
@@ -37,8 +37,8 @@ struct amdgpu_job;
 struct amdgpu_vm;
 
 /* max number of rings */
-#define AMDGPU_MAX_RINGS               28
-#define AMDGPU_MAX_HWIP_RINGS          8
+#define AMDGPU_MAX_RINGS               96
+#define AMDGPU_MAX_HWIP_RINGS          32
 #define AMDGPU_MAX_GFX_RINGS           2
 #define AMDGPU_MAX_SW_GFX_RINGS         2
 #define AMDGPU_MAX_COMPUTE_RINGS       8
index fc85288..67975dc 100644 (file)
@@ -26,7 +26,7 @@
 #include "amdgpu_ras.h"
 
 /* max number of IP instances */
-#define AMDGPU_MAX_SDMA_INSTANCES              8
+#define AMDGPU_MAX_SDMA_INSTANCES              16
 
 enum amdgpu_sdma_irq {
        AMDGPU_SDMA_IRQ_INSTANCE0  = 0,
@@ -49,6 +49,7 @@ struct amdgpu_sdma_instance {
        struct amdgpu_ring      ring;
        struct amdgpu_ring      page;
        bool                    burst_nop;
+       uint32_t                aid_id;
 };
 
 struct amdgpu_sdma_ras {
@@ -66,6 +67,7 @@ struct amdgpu_sdma {
        struct amdgpu_irq_src   srbm_write_irq;
 
        int                     num_instances;
+       int                     num_inst_per_aid;
        uint32_t                    srbm_soft_reset;
        bool                    has_page_queue;
        struct ras_common_if    *ras_if;