drm/amdgpu: Add mask for SDMA instances
authorLijo Lazar <lijo.lazar@amd.com>
Wed, 29 Jun 2022 10:56:49 +0000 (16:26 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:45:48 +0000 (09:45 -0400)
Add a mask of SDMA instances available for use. On certain ASIC configs,
not all SDMA instances are available for software use.

v2:
Change sdma mask type to uint32_t (Le)

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Le Ma <Le.Ma@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h

index 632b771..62afb28 100644 (file)
@@ -48,6 +48,8 @@ enum amdgpu_sdma_irq {
        AMDGPU_SDMA_IRQ_LAST
 };
 
+#define NUM_SDMA(x) hweight32(x)
+
 struct amdgpu_sdma_instance {
        /* SDMA firmware */
        const struct firmware   *fw;
@@ -75,6 +77,7 @@ struct amdgpu_sdma {
        struct amdgpu_irq_src   srbm_write_irq;
 
        int                     num_instances;
+       uint32_t                sdma_mask;
        int                     num_inst_per_aid;
        uint32_t                    srbm_soft_reset;
        bool                    has_page_queue;