]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amdgpu: reject gang submissions under SRIOV
authorChristian König <christian.koenig@amd.com>
Wed, 27 Aug 2025 11:14:43 +0000 (13:14 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 16 Sep 2025 21:47:00 +0000 (17:47 -0400)
Gang submission means that the kernel driver guarantees that multiple
submissions are executed on the HW at the same time on different engines.

Background is that those submissions then depend on each other and each
can't finish stand alone.

SRIOV now uses world switch to preempt submissions on the engines to allow
sharing the HW resources between multiple VFs.

The problem is now that the SRIOV world switch can't know about such inter
dependencies and will cause a timeout if it waits for a partially running
gang submission.

To conclude SRIOV and gang submissions are fundamentally incompatible at
the moment. For now just disable them.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c

index 2e93d570153ccbf63978de4c48503d4b91523fd5..defb511acc5a04d5c5a31ae48db7c1dadcc33b7c 100644 (file)
@@ -273,7 +273,7 @@ static int amdgpu_cs_pass1(struct amdgpu_cs_parser *p,
                }
        }
 
-       if (!p->gang_size) {
+       if (!p->gang_size || (amdgpu_sriov_vf(p->adev) && p->gang_size > 1)) {
                ret = -EINVAL;
                goto free_all_kdata;
        }