OSDN Git Service

drm/amd/amdgpu: set disabled vcn to no_schduler
authorJingwen Chen <Jingwen.Chen2@amd.com>
Wed, 2 Mar 2022 09:44:38 +0000 (17:44 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 4 Mar 2022 18:03:30 +0000 (13:03 -0500)
[Why]
after the reset domain introduced, the sched.ready will be init after
hw_init, which will overwrite the setup in vcn hw_init, and lead to
vcn ib test fail.

[How]
set disabled vcn to no_scheduler

Fixes: 5fd8518d187ed0 ("drm/amdgpu: Move scheduler init to after XGMI is ready")
Signed-off-by: Jingwen Chen <Jingwen.Chen2@amd.com>
Acked-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c

index 530e4de..42f943d 100644 (file)
@@ -298,6 +298,7 @@ static int vcn_v3_0_hw_init(void *handle)
                        ring = &adev->vcn.inst[i].ring_dec;
                        if (amdgpu_vcn_is_disabled_vcn(adev, VCN_DECODE_RING, i)) {
                                ring->sched.ready = false;
+                               ring->no_scheduler = true;
                                dev_info(adev->dev, "ring %s is disabled by hypervisor\n", ring->name);
                        } else {
                                ring->wptr = 0;
@@ -310,6 +311,7 @@ static int vcn_v3_0_hw_init(void *handle)
                                ring = &adev->vcn.inst[i].ring_enc[j];
                                if (amdgpu_vcn_is_disabled_vcn(adev, VCN_ENCODE_RING, i)) {
                                        ring->sched.ready = false;
+                                       ring->no_scheduler = true;
                                        dev_info(adev->dev, "ring %s is disabled by hypervisor\n", ring->name);
                                } else {
                                        ring->wptr = 0;