drm/amdgpu: Add a read after write DB_CTRL for vcn_v4_0_3
authorSonny Jiang <sonny.jiang@amd.com>
Tue, 28 Mar 2023 17:19:11 +0000 (13:19 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:56:26 +0000 (09:56 -0400)
To make sure VCN DB_CTRL is delivered before doorbell write.

Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c

index b0e28d6..9d0c3dc 100644 (file)
@@ -195,6 +195,11 @@ static int vcn_v4_0_3_hw_init(void *handle)
                                ring->doorbell_index
                                                << VCN_RB1_DB_CTRL__OFFSET__SHIFT |
                                        VCN_RB1_DB_CTRL__EN_MASK);
+
+                       /* Read DB_CTRL to flush the write DB_CTRL command. */
+                       RREG32_SOC15(
+                               VCN, GET_INST(VCN, ring->me),
+                               regVCN_RB1_DB_CTRL);
                }
 
                r = amdgpu_ring_test_helper(ring);