Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: Add empty HDP flush function to VCN v4.0.3

VCN 4.0.3 does not HDP flush with RRMT enabled. Instead, mmsch
will do the HDP flush.

This change is necessary for VCN v4.0.3, no need for backward compatibility

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Jane Jian <Jane.Jian@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Lijo Lazar and committed by
Alex Deucher
49cfaebe 585e3fdb

+8
+8
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
··· 1375 1375 regUVD_RB_WPTR); 1376 1376 } 1377 1377 1378 + static void vcn_v4_0_3_ring_emit_hdp_flush(struct amdgpu_ring *ring) 1379 + { 1380 + /* VCN engine access for HDP flush doesn't work when RRMT is enabled. 1381 + * This is a workaround to avoid any HDP flush through VCN ring. 1382 + */ 1383 + } 1384 + 1378 1385 /** 1379 1386 * vcn_v4_0_3_unified_ring_set_wptr - set enc write pointer 1380 1387 * ··· 1422 1415 .emit_ib = vcn_v2_0_enc_ring_emit_ib, 1423 1416 .emit_fence = vcn_v2_0_enc_ring_emit_fence, 1424 1417 .emit_vm_flush = vcn_v2_0_enc_ring_emit_vm_flush, 1418 + .emit_hdp_flush = vcn_v4_0_3_ring_emit_hdp_flush, 1425 1419 .test_ring = amdgpu_vcn_enc_ring_test_ring, 1426 1420 .test_ib = amdgpu_vcn_unified_ring_test_ib, 1427 1421 .insert_nop = amdgpu_ring_insert_nop,