drm/amdgpu: cleanup HDP flush handling

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
index f2442b2..66c66f8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
@@ -143,7 +143,6 @@
 	struct amdgpu_ib *ib = &ibs[0];
 	unsigned i;
 	int r = 0;
-	bool flush_hdp = true;
 
 	if (num_ibs == 0)
 		return -EINVAL;
@@ -185,6 +184,9 @@
 					    ib->gws_base, ib->gws_size,
 					    ib->oa_base, ib->oa_size);
 
+	if (ring->funcs->emit_hdp_flush)
+		amdgpu_ring_emit_hdp_flush(ring);
+
 	for (i = 0; i < num_ibs; ++i) {
 		ib = &ibs[i];
 
@@ -192,8 +194,6 @@
 			amdgpu_ring_unlock_undo(ring);
 			return -EINVAL;
 		}
-		ib->flush_hdp_writefifo = flush_hdp;
-		flush_hdp = false;
 		amdgpu_ring_emit_ib(ring, ib);
 	}